summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorm-holger <m-holger@kubitscheck.org>2023-06-14 17:30:38 +0200
committerm-holger <m-holger@kubitscheck.org>2023-06-14 17:30:38 +0200
commit33f207ca74f17763d555031e026c9c0490709976 (patch)
tree64ecc4e04c13fdc63104408a9cc55c886a77de92
parent6e6a73d28f5f61f038209a61a3e85995dc71aa32 (diff)
downloadqpdf-33f207ca74f17763d555031e026c9c0490709976.tar.zst
Add FUTURE build option
-rw-r--r--CMakeLists.txt7
-rw-r--r--manual/installation.rst5
2 files changed, 12 insertions, 0 deletions
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.