Add the system thread library to Boost_LIBRARIES when the boost thread
component has been found.
The Boost::thread imported target already pulls in Threads::Threads.
This changes does the same for projects using the Boost_LIBRARIES variable
instead.
Boost 1.66 and above built with `--layout=versioned` add an architecture
tag to the library file names. We already try to compute this tag
automatically when `CMAKE_CXX_COMPILER_ARCHITECTURE_ID` is available,
but that is currently not computed everywhere. Add an explicit
`Boost_ARCHITECTURE` option that a user can set to specify the
architecture tag.
Issue: #17701
Search paths for boost versions should be build using _boost_TEST_VERSIONS
instead of _Boost_KNOWN_VERSIONS because if Boost_FIND_VERSION_EXACT
is used _Boost_KNOWN_VERSIONS is empty and boost isn't found even in its
default installation path.
Fixes: #17986
ab2e35d614 Replace occurrences of "Mac OS X" with "macOS" in comments
fc1602456a Help: Replace occurrences of "Mac OS X" with "macOS"
Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Gregor Jasny <gjasny@googlemail.com>
Reviewed-by: Clinton Stimpson <clinton@elemtech.com>
Merge-request: !2351
b76b93c728 FindBoost: Change context header used
c8a7835ea9 FindBoost: Add support for Boost 1.68 beta1
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alexander Grund <github@grundis.de>
Merge-request: !2204
Update `mpi_python##` and `numpy##` component dependencies to honor
python version suffixes on components named by the caller. Although
upstream Boost did not add version suffixes prior to version 1.67, it is
commonly done by distros. Honor suffixes specified by project code.
Projects must take responsibility for naming distro-specific component
suffixes for versions prior to 1.67.
Fixes: #17892, #17970
Per discussion on cmake/cmake#17575, this protection not particularly
valuable, as the dependency information which the imported targets wrap
is generated anyway.
This removes a road-block for using `Boost_ADDITIONAL_VERSIONS` to
support newly-released Boost versions pending a new CMake release.
Release notes: http://www.boost.org/users/history/version_1_66_0.html
* All new libraries are header-only.
* _Boost_COMPONENT_DEPENDENCIES is unchanged from 1.65.1
* _Boost_FIBER_COMPILER_FEATURES is unchanged from 1.64.0
Add a test for this case to verify the messages. This test will also be
valuable to cover this code path in which we've had several regressions
recently.
Instead of `list(FIND...)` and then checking result for `-1`
(found/not-found), nowadays `if` command has the `IN_LIST` test for
that.
This change was originally made by commit v3.9.0-rc1~41^2 (FindBoost:
Simplify search in lists, 2017-04-23) but then had to be reverted by
commit v3.9.2~3^2 (FindBoost: Revert "Simplify search in lists.",
2017-09-05) due to problems related to using `find_dependency`. Those
problems were addressed by commit 3080a0a611 (FindBoost: Improve
behavior when thread dependency is missing, 2017-09-15), so now we can
restore the original change.
Issue: #17252
The `find_dependency` macro is not meant for use in find modules and
`return()`s from the caller when the package is not found. Avoid using
it in FindBoost. Instead use plain `find_package` for the Threads
package and manually forward the `QUIET` argument. When the Threads
package is missing then treat the Boost `thread` component as missing.
Issue: #17257
With the use of options `Boost_USE_DEBUG_LIBS` and
`Boost_USE_RELEASE_LIBS` it is now possible to skip searching for either
DEBUG or RELEASE Boost libraries.
This is useful if Boost is installed on the system in multiple
directories but only one of them should be used which only contains e.g.
the RELEASE libraries. Without this change the DEBUG libraries might be
found in the other directory which might not be desired at all.
Revert commit v3.9.0-rc1~41^2 (FindBoost: Simplify search in lists,
2017-04-23). It regressed the module by exposing issue #17257, but the
fix for that issue is not suitable for inclusion in a patch release.
It is simplest to revert the commit until the larger problem can be
addressed.
Fixes: #17252