mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-06 05:40:54 -06:00
FindBoost: Simplify search in lists.
Instead of `list(FIND...)` and then checking result for `-1` (found/not-found), nowadays `if` command has the `IN_LIST` test for that.
This commit is contained in:
@@ -208,6 +208,10 @@
|
||||
#
|
||||
# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
|
||||
|
||||
# Save project's policies
|
||||
cmake_policy(PUSH)
|
||||
cmake_policy(SET CMP0057 NEW) # if IN_LIST
|
||||
|
||||
#-------------------------------------------------------------------------------
|
||||
# Before we go searching, check whether boost-cmake is available, unless the
|
||||
# user specifically asked NOT to search for boost-cmake.
|
||||
@@ -865,14 +869,12 @@ function(_Boost_MISSING_DEPENDENCIES componentvar extravar)
|
||||
list(APPEND _boost_processed_components ${_boost_unprocessed_components})
|
||||
foreach(component ${_boost_unprocessed_components})
|
||||
string(TOUPPER ${component} uppercomponent)
|
||||
set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
|
||||
set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
|
||||
_Boost_COMPONENT_DEPENDENCIES("${component}" _Boost_${uppercomponent}_DEPENDENCIES)
|
||||
set(_Boost_${uppercomponent}_DEPENDENCIES ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
|
||||
set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
|
||||
foreach(componentdep ${_Boost_${uppercomponent}_DEPENDENCIES})
|
||||
list(FIND _boost_processed_components "${componentdep}" _boost_component_found)
|
||||
list(FIND _boost_new_components "${componentdep}" _boost_component_new)
|
||||
if (_boost_component_found EQUAL -1 AND _boost_component_new EQUAL -1)
|
||||
if (NOT ("${componentdep}" IN_LIST _boost_processed_components OR "${componentdep}" IN_LIST _boost_new_components))
|
||||
list(APPEND _boost_new_components ${componentdep})
|
||||
endif()
|
||||
endforeach()
|
||||
@@ -1499,8 +1501,7 @@ endif()
|
||||
_Boost_MISSING_DEPENDENCIES(Boost_FIND_COMPONENTS _Boost_EXTRA_FIND_COMPONENTS)
|
||||
|
||||
# If thread is required, get the thread libs as a dependency
|
||||
list(FIND Boost_FIND_COMPONENTS thread _Boost_THREAD_DEPENDENCY_LIBS)
|
||||
if(NOT _Boost_THREAD_DEPENDENCY_LIBS EQUAL -1)
|
||||
if("thread" IN_LIST Boost_FIND_COMPONENTS)
|
||||
include(CMakeFindDependencyMacro)
|
||||
find_dependency(Threads)
|
||||
endif()
|
||||
@@ -1925,3 +1926,6 @@ list(REMOVE_DUPLICATES _Boost_COMPONENTS_SEARCHED)
|
||||
list(SORT _Boost_COMPONENTS_SEARCHED)
|
||||
set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}"
|
||||
CACHE INTERNAL "Components requested for this build tree.")
|
||||
|
||||
# Restore project's policies
|
||||
cmake_policy(POP)
|
||||
|
||||
Reference in New Issue
Block a user