summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2020-11-02 14:43:28 +0000
committerKitware Robot <kwrobot@kitware.com>2020-11-02 09:43:33 -0500
commit81e27967d9e44dfdde5ff2c8ca2b002a1595fa30 (patch)
treecc9fc24e4355ceaeab3631fc9bb3397dfae5d313
parent013c4133f79d0bd5e82254d0dfdfa42a6c8dfcc8 (diff)
parent685fa8bec064e5776319c8a42c02578bd85b6a7d (diff)
downloadcmake-81e27967d9e44dfdde5ff2c8ca2b002a1595fa30.tar.gz
Merge topic 'FindBoost-config-mode' into release-3.19
685fa8bec0 FindBoost: Avoid leaking internal Boost_ROOT setting Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !5445
-rw-r--r--Modules/FindBoost.cmake10
1 files changed, 8 insertions, 2 deletions
diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 77868f4bb9..00e4ff1d21 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -450,13 +450,19 @@ if (NOT Boost_NO_BOOST_CMAKE)
# Do the same find_package call but look specifically for the CMake version.
# Note that args are passed in the Boost_FIND_xxxxx variables, so there is no
# need to delegate them to this find_package call.
- cmake_policy(PUSH)
if(BOOST_ROOT AND NOT Boost_ROOT)
+ # Honor BOOST_ROOT by setting Boost_ROOT with CMP0074 NEW behavior.
+ cmake_policy(PUSH)
cmake_policy(SET CMP0074 NEW)
set(Boost_ROOT "${BOOST_ROOT}")
+ set(_Boost_ROOT_FOR_CONFIG 1)
endif()
find_package(Boost QUIET NO_MODULE ${_boost_FIND_PACKAGE_ARGS})
- cmake_policy(POP)
+ if(_Boost_ROOT_FOR_CONFIG)
+ unset(_Boost_ROOT_FOR_CONFIG)
+ unset(Boost_ROOT)
+ cmake_policy(POP)
+ endif()
if (DEFINED Boost_DIR)
mark_as_advanced(Boost_DIR)
endif ()