mirror of
https://github.com/Kitware/CMake.git
synced 2026-08-03 22:30:29 +00: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.
|
# 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
|
# Note that args are passed in the Boost_FIND_xxxxx variables, so there is no
|
||||||
# need to delegate them to this find_package call.
|
# need to delegate them to this find_package call.
|
||||||
cmake_policy(PUSH)
|
|
||||||
if(BOOST_ROOT AND NOT Boost_ROOT)
|
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)
|
cmake_policy(SET CMP0074 NEW)
|
||||||
set(Boost_ROOT "${BOOST_ROOT}")
|
set(Boost_ROOT "${BOOST_ROOT}")
|
||||||
|
set(_Boost_ROOT_FOR_CONFIG 1)
|
||||||
endif()
|
endif()
|
||||||
find_package(Boost QUIET NO_MODULE ${_boost_FIND_PACKAGE_ARGS})
|
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)
|
if (DEFINED Boost_DIR)
|
||||||
mark_as_advanced(Boost_DIR)
|
mark_as_advanced(Boost_DIR)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
Reference in New Issue
Block a user