diff options
author | Brad King <brad.king@kitware.com> | 2024-05-03 13:43:21 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2024-05-03 14:30:23 (GMT) |
commit | e0355c4ea9c099e41c0c21ca42be82c09ff28292 (patch) | |
tree | 8d98d3ffe5632538b1eb6e03c6a55b6fed78492c /Help | |
parent | 1027c0e213a2dc0175c5645fbd9f5989751fae63 (diff) | |
download | CMake-e0355c4ea9c099e41c0c21ca42be82c09ff28292.zip CMake-e0355c4ea9c099e41c0c21ca42be82c09ff28292.tar.gz CMake-e0355c4ea9c099e41c0c21ca42be82c09ff28292.tar.bz2 |
FindBoost: Add policy to remove this module
Upstream Boost 1.70 and above provide a proper `BoostConfig.cmake`
package configuration file. Packages for all major distros now
provide it in at least one LTS release. Add a policy to pretend
that the `FindBoost` module does not exist so that projects calling
`find_package(Boost)` use the upstream package directly.
Closes: #19402
Diffstat (limited to 'Help')
-rw-r--r-- | Help/manual/cmake-policies.7.rst | 1 | ||||
-rw-r--r-- | Help/policy/CMP0167.rst | 28 | ||||
-rw-r--r-- | Help/release/dev/FindBoost-remove.rst | 6 |
3 files changed, 35 insertions, 0 deletions
diff --git a/Help/manual/cmake-policies.7.rst b/Help/manual/cmake-policies.7.rst index 826790d..43d54dc 100644 --- a/Help/manual/cmake-policies.7.rst +++ b/Help/manual/cmake-policies.7.rst @@ -57,6 +57,7 @@ Policies Introduced by CMake 3.30 .. toctree:: :maxdepth: 1 + CMP0167: The FindBoost module is removed. </policy/CMP0167> CMP0166: TARGET_PROPERTY evaluates link properties transitively over private dependencies of static libraries. </policy/CMP0166> CMP0165: enable_language() must not be called before project(). </policy/CMP0165> CMP0164: add_library() rejects SHARED libraries when not supported by the platform. </policy/CMP0164> diff --git a/Help/policy/CMP0167.rst b/Help/policy/CMP0167.rst new file mode 100644 index 0000000..763ef69 --- /dev/null +++ b/Help/policy/CMP0167.rst @@ -0,0 +1,28 @@ +CMP0167 +------- + +.. versionadded:: 3.30 + +The :module:`FindBoost` module is removed. + +CMake 3.29 and below provide a ``FindBoost`` module, but it needs constant +updates to keep up with upstream Boost releases. Upstream Boost 1.70 +and above provide a ``BoostConfig.cmake`` package configuration file. +``find_package(Boost CONFIG)`` finds the upstream package directly, +without the find module. + +CMake 3.30 and above prefer to not provide the ``FindBoost`` module +so that ``find_package(Boost)`` calls, without the ``CONFIG`` or +``NO_MODULE`` options, find the upstream ``BoostConfig.cmake`` directly. +This policy provides compatibility for projects that have not been ported +to use the upstream Boost package. + +The ``OLD`` behavior of this policy is for ``find_package(Boost)`` to +load CMake's :module:`FindBoost` module. The ``NEW`` behavior is for +``find_package(Boost)`` to search for the upstream ``BoostConfig.cmake``. + +.. |INTRODUCED_IN_CMAKE_VERSION| replace:: 3.30 +.. |WARNS_OR_DOES_NOT_WARN| replace:: warns +.. include:: STANDARD_ADVICE.txt + +.. include:: DEPRECATED.txt diff --git a/Help/release/dev/FindBoost-remove.rst b/Help/release/dev/FindBoost-remove.rst new file mode 100644 index 0000000..5abf18f --- /dev/null +++ b/Help/release/dev/FindBoost-remove.rst @@ -0,0 +1,6 @@ +FindBoost-remove +----------------- + +* The :module:`FindBoost` module has been removed by policy :policy:`CMP0167`. + Port projects to upstream Boost's ``BoostConfig.cmake`` package + configuration file, for which ``find_package(Boost)`` now searches. |