mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
FindBoost: Avoid leaking internal Boost_ROOT setting
Since commit 4b2a61946f (FindBoost: Honor BOOST_ROOT when finding
upstream BoostConfig, 2020-10-22, v3.19.0-rc2~14^2) we accidentally leak
our internal setting of `Boost_ROOT`. Revise the logic to unset our
temporary value.
Fixes: #21379
This commit is contained in:
@@ -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 ()
|
||||
|
||||
Reference in New Issue
Block a user