|
|
@@ -471,6 +471,223 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret)
|
|
|
set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
|
|
|
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
|
|
|
#
|
|
|
@@ -511,6 +728,10 @@ if(Boost_FIND_VERSION_EXACT)
|
|
|
else()
|
|
|
# The user has not requested an exact version. Among known
|
|
|
# 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}
|
|
|
|
|
|
"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"
|