CMake 3.12 introduced <package>_ROOT CMake and environment variables to
be valid hints to find_package(<package>). Defining Boost_ROOT is no
longer wrong if CMP0074 is set to NEW.
Fixes#18810
f06bf0fa57 FindBoost: Fix compiler features for `fiber` and `context`
684338aff6 FindBoost: Record compiler features for Boost 1.67 and above
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3266
Remove the 1.67 upper-bound on compiler feature computation so that with
newer versions we at least get it mostly right. Leave a comment with
notes about updating features for future versions.
The Gentoo case added by commit 1673923c30 (FindBoost: Add support for
Boost 1.67 with Python version suffixes, 2018-03-18, v3.11.0~3^2) left
out the `.` version component separator and instead duplicated the RPM
case. Add the missing `.` now.
Fixes: #18743
The purpose of the `Boost::dynamic_linking` interface library is to
cause `BOOST_ALL_DYN_LINK` to be defined. Do this on all platforms
instead of just Windows.
In particular, using Boost::log trivial_logger requires to set
BOOST_ALL_NO_LIB when Boost::Log is compiled as dynamic library.
Fixes: #17813
Since commit v3.13.0~7^2 (FindBoost: Improve compiler prefix
detection for GCC 5+ and clang 4+, 2018-11-07) we run the internal
`_Boost_COMPILER_DUMPVERSION` macro on all UNIX platforms. Teach
the macro to tolerate missing `CMAKE_CXX_COMPILER_VERSION`, which
occurs when the CXX language is not enabled.
Fixes: #18624
Add recognition of compiler version and prefix for clang.
Accommodate changes to version numbering scheme for GCC 5+ and clang 4+
- Minor number becomes patch, so excluded it from compiler prefix.
- Improves searching for Boost 1.69+ libraries built with GCC 5+ and
clang 4+, where library names are generated with compiler tag based on
major version only eg. -gcc5 for GC 5.5.0 or -clang6 for clang 6.0.0
- Follows up related changes in upcoming Boost 1.69
https://github.com/boostorg/build/pull/349
Dump detected compiler version in Boost_DEBUG message.
Replace use of CMAKE_COMPILER_IS_GNUCXX with CMAKE_CXX_COMPILER_ID.
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