From 33f207ca74f17763d555031e026c9c0490709976 Mon Sep 17 00:00:00 2001 From: m-holger Date: Wed, 14 Jun 2023 16:30:38 +0100 Subject: [PATCH] Add FUTURE build option --- CMakeLists.txt | 7 +++++++ manual/installation.rst | 5 +++++ 2 files changed, 12 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index d2ec8ffd..ac0c0435 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -104,6 +104,8 @@ option(INSTALL_PKGCONFIG "Install pkgconfig file" ON) option(INSTALL_CMAKE_PACKAGE "Install cmake package files" ON) option(INSTALL_EXAMPLES "Install example files" ON) +option(FUTURE "Include ABI-breaking changes CONSIDERED for the next major release" OFF) + # *** END OPTIONS *** if(NOT (BUILD_STATIC_LIBS OR BUILD_SHARED_LIBS)) @@ -121,6 +123,10 @@ else() set(ENABLE_QTC_ARG --disable-tc) endif() +if(FUTURE) + add_compile_definitions(QPDF_FUTURE=1) +endif() + enable_testing() set(RUN_QTEST perl ${qpdf_SOURCE_DIR}/run-qtest ${ENABLE_QTC_ARG}) @@ -347,6 +353,7 @@ message(STATUS " build static libraries: ${BUILD_STATIC_LIBS}") message(STATUS " build manual: ${BUILD_DOC}") message(STATUS " compiler warnings are errors: ${WERROR}") message(STATUS " QTC test coverage: ${ENABLE_QTC}") +message(STATUS " include future changes: ${FUTURE}") message(STATUS " system: ${CPACK_SYSTEM_NAME}") message(STATUS "") message(STATUS "*** Options Summary ***") diff --git a/manual/installation.rst b/manual/installation.rst index 7b57ef2a..cef2c9a5 100644 --- a/manual/installation.rst +++ b/manual/installation.rst @@ -277,6 +277,11 @@ BUILD_SHARED_LIBS, BUILD_STATIC_LIBS compiled executables can find the DLL. Updating your path is not necessary if you build with static libraries only. +FUTURE + This option enables changes planned for the next major release to be + included. These changes are ABI breaking and are subject to change. They + are NOT part of the stable API. + QTEST_COLOR Turn this on or off to control whether qtest uses color in its output.