summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-05-03 13:43:21 (GMT)
committerBrad King <brad.king@kitware.com>2024-05-03 14:30:23 (GMT)
commite0355c4ea9c099e41c0c21ca42be82c09ff28292 (patch)
tree8d98d3ffe5632538b1eb6e03c6a55b6fed78492c /Help
parent1027c0e213a2dc0175c5645fbd9f5989751fae63 (diff)
downloadCMake-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.rst1
-rw-r--r--Help/policy/CMP0167.rst28
-rw-r--r--Help/release/dev/FindBoost-remove.rst6
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.