FindBoost: Embed component dependency table
The function _Boost_COMPONENT_DEPENDENCIES is used to query the library dependencies for a given component for a given version of Boost. This covers Boost releases from 1.33 to 1.59, using the information generated by Utilities/Scripts/BoostScanDeps.cmake.
This commit is contained in:
parent
8a60e6961e
commit
5183c6e5dd
|
@ -471,6 +471,223 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
|
||||||
set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
|
set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
#
|
||||||
|
# Get component dependencies. Requires the dependencies to have been
|
||||||
|
# defined for the Boost release version.
|
||||||
|
#
|
||||||
|
# component - the component to check
|
||||||
|
# _ret - list of library dependencies
|
||||||
|
#
|
||||||
|
function(_Boost_COMPONENT_DEPENDENCIES component _ret)
|
||||||
|
# Note: to add a new Boost release, run
|
||||||
|
#
|
||||||
|
# % cmake -DBOOST_DIR=/path/to/boost/source -P Utilities/Scripts/BoostScanDeps.cmake
|
||||||
|
#
|
||||||
|
# The output may be added in a new block below. If it's the same as
|
||||||
|
# the previous release, simply update the version range of the block
|
||||||
|
# for the previous release.
|
||||||
|
#
|
||||||
|
# This information was originally generated by running
|
||||||
|
# BoostScanDeps.cmake against every boost release to date supported
|
||||||
|
# by FindBoost:
|
||||||
|
#
|
||||||
|
# % for version in /path/to/boost/sources/*
|
||||||
|
# do
|
||||||
|
# cmake -DBOOST_DIR=$version -P Utilities/Scripts/BoostScanDeps.cmake
|
||||||
|
# done
|
||||||
|
#
|
||||||
|
# The output was then updated by search and replace with these regexes:
|
||||||
|
#
|
||||||
|
# - Strip message(STATUS) prefix dashes
|
||||||
|
# s;^-- ;;
|
||||||
|
# - Indent
|
||||||
|
# s;^set(; set(;;
|
||||||
|
# - Add conditionals
|
||||||
|
# s;Scanning /path/to/boost/sources/boost_\(.*\)_\(.*\)_\(.*); elseif(NOT Boost_VERSION VERSION_LESS \10\20\3 AND Boost_VERSION VERSION_LESS xxxx);
|
||||||
|
#
|
||||||
|
# This results in the logic seen below, but will require the xxxx
|
||||||
|
# replacing with the following Boost release version (or the next
|
||||||
|
# minor version to be released, e.g. 1.59 was the latest at the time
|
||||||
|
# of writing, making 1.60 the next, so 106000 is the needed version
|
||||||
|
# number). Identical consecutive releases were then merged together
|
||||||
|
# by updating the end range of the first block and removing the
|
||||||
|
# following redundant blocks.
|
||||||
|
#
|
||||||
|
# Running the script against all historical releases should be
|
||||||
|
# required only if the BoostScanDeps.cmake script logic is changed.
|
||||||
|
# The addition of a new release should only require it to be run
|
||||||
|
# against the new release.
|
||||||
|
set(_Boost_IMPORTED_TARGETS TRUE)
|
||||||
|
if(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex thread)
|
||||||
|
set(_Boost_REGEX_DEPENDENCIES thread)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem thread)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 103500 AND Boost_VERSION VERSION_LESS 103600)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 103600 AND Boost_VERSION VERSION_LESS 103800)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system thread)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 103800 AND Boost_VERSION VERSION_LESS 104300)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES date_time)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 104300 AND Boost_VERSION VERSION_LESS 104400)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES date_time)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system thread date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 104400 AND Boost_VERSION VERSION_LESS 104500)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random serialization)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES date_time)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES serialization filesystem system thread date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 104500 AND Boost_VERSION VERSION_LESS 104700)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES date_time)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 104700 AND Boost_VERSION VERSION_LESS 104800)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES date_time)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 104800 AND Boost_VERSION VERSION_LESS 105000)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES date_time)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 105000 AND Boost_VERSION VERSION_LESS 105300)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES chrono system date_time)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 105300 AND Boost_VERSION VERSION_LESS 105400)
|
||||||
|
set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 105400 AND Boost_VERSION VERSION_LESS 105500)
|
||||||
|
set(_Boost_ATOMIC_DEPENDENCIES thread chrono system date_time)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 105500 AND Boost_VERSION VERSION_LESS 105600)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_COROUTINE_DEPENDENCIES context system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l regex random)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 105600 AND Boost_VERSION VERSION_LESS 105900)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_COROUTINE_DEPENDENCIES context system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_RANDOM_DEPENDENCIES system)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
elseif(NOT Boost_VERSION VERSION_LESS 105900 AND Boost_VERSION VERSION_LESS 106000)
|
||||||
|
set(_Boost_CHRONO_DEPENDENCIES system)
|
||||||
|
set(_Boost_COROUTINE_DEPENDENCIES context system)
|
||||||
|
set(_Boost_FILESYSTEM_DEPENDENCIES system)
|
||||||
|
set(_Boost_IOSTREAMS_DEPENDENCIES regex)
|
||||||
|
set(_Boost_LOG_DEPENDENCIES log_setup date_time system filesystem thread regex chrono atomic)
|
||||||
|
set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l atomic)
|
||||||
|
set(_Boost_MPI_DEPENDENCIES serialization)
|
||||||
|
set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization)
|
||||||
|
set(_Boost_RANDOM_DEPENDENCIES system)
|
||||||
|
set(_Boost_THREAD_DEPENDENCIES chrono system date_time atomic)
|
||||||
|
set(_Boost_TIMER_DEPENDENCIES chrono system)
|
||||||
|
set(_Boost_WAVE_DEPENDENCIES filesystem system serialization thread chrono date_time atomic)
|
||||||
|
set(_Boost_WSERIALIZATION_DEPENDENCIES serialization)
|
||||||
|
else()
|
||||||
|
message(WARNING "Imported targets not available for Boost version ${Boost_VERSION}")
|
||||||
|
set(_Boost_IMPORTED_TARGETS FALSE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
string(TOUPPER ${component} uppercomponent)
|
||||||
|
set(${_ret} ${_Boost_${uppercomponent}_DEPENDENCIES} PARENT_SCOPE)
|
||||||
|
set(_Boost_IMPORTED_TARGETS ${_Boost_IMPORTED_TARGETS} PARENT_SCOPE)
|
||||||
|
|
||||||
|
string(REGEX REPLACE ";" " " _boost_DEPS_STRING "${_Boost_${uppercomponent}_DEPENDENCIES}")
|
||||||
|
if (NOT _boost_DEPS_STRING)
|
||||||
|
set(_boost_DEPS_STRING "(none)")
|
||||||
|
endif()
|
||||||
|
# message(STATUS "Dependencies for Boost::${component}: ${_boost_DEPS_STRING}")
|
||||||
|
endfunction()
|
||||||
|
|
||||||
#
|
#
|
||||||
# End functions/macros
|
# End functions/macros
|
||||||
#
|
#
|
||||||
|
@ -511,6 +728,10 @@ if(Boost_FIND_VERSION_EXACT)
|
||||||
else()
|
else()
|
||||||
# The user has not requested an exact version. Among known
|
# The user has not requested an exact version. Among known
|
||||||
# versions, find those that are acceptable to the user request.
|
# versions, find those that are acceptable to the user request.
|
||||||
|
#
|
||||||
|
# Note: When adding a new Boost release, also update the dependency
|
||||||
|
# information in _Boost_COMPONENT_DEPENDENCIES. See the
|
||||||
|
# instructions at the top of _Boost_COMPONENT_DEPENDENCIES.
|
||||||
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
|
set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
|
||||||
|
|
||||||
"1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
|
"1.59.0" "1.59" "1.58.0" "1.58" "1.57.0" "1.57" "1.56.0" "1.56" "1.55.0" "1.55"
|
||||||
|
|
Loading…
Reference in New Issue