Alexander Grund
3e479694cd
Consistently quote name of Boost libraries in debug messages
2025-10-27 13:41:08 +01:00
Alexander Grund
e6bd4260fc
Handle Boost::included_test* targets
2025-10-27 13:37:41 +01:00
Peter Dimov
fd61b23154
Merge pull request #89 from k3DW/natvis
...
Install extra/ directory, and configure .natvis files on Windows
2025-10-18 16:07:05 +03:00
Peter Dimov
ee23552433
Issue an error if an MPI or a Python library is requested, but support is not enabled
2025-10-10 14:51:52 +03:00
Peter Dimov
e34e275cbd
Fix typo in error message, cosmetic formatting changes
2025-10-10 10:29:32 +03:00
Braden Ganetsky
05207bb480
Install the extra/ directory in function boost_install()
2025-10-08 15:06:27 -05:00
Flamefire
247de87d85
Use custom property
...
Since CMake 3.11 properties starting with underscores are considered
custom properties and allowed.
2025-09-28 18:47:43 +02:00
Alexander Grund
005e32d931
Avoid installing libraries multiple times or issueing wrong message
...
Some libraries call `boost_install` themselves which adds
`INSTALL_INTERFACE` to their `INTERFACE_INCLUDE_DIRETORIES` property.
That then makes the install check in `__boost_auto_install` fail and
print a message that the library won't be installed while it will be.
Use a label to detect targets for which `boost_install` was already
called and skip the logic in `__boost_auto_install` for those.
2025-09-28 12:49:37 +02:00
Peter Dimov
3a451b2a5a
Merge pull request #86 from Flamefire/separate-test-deps
...
Don't add all libraries when BOOST_INCLUDE_LIBRARIES is set
2025-09-18 19:11:30 +03:00
Alexander Grund
052f5fcf53
Ensure compatibility with CMake < 3.20
...
CMake supports `list(REMOVE_ITEM` without any items only since 3.20
2025-09-12 17:10:31 +02:00
Alexander Grund
650a43b83a
Allow including and excluding dependencies via pragmas
...
This supports comments in CMLs like:
```
# Boost-Include: Boost::add_this
# Boost-Exclude Boost::remove_this
```
Whitespace is ignored and the colon is optional
2025-09-12 10:47:48 +02:00
Alexander Grund
44c75fbef2
Include Boost libraries on lines with trailing comment
2025-09-12 09:35:50 +02:00
Alexander Grund
8d99684e85
Add more special cases for library names
...
Also handle the prefix-case commonly
2025-09-11 19:43:23 +02:00
Alexander Grund
264a16a047
CMake: Show used CMake version in super-builds
...
In super-builds show the CMake version which is especially useful on CI to verify the used CMake and/or compare different jobs on failure.
Limited to the super build to not be too verbose when Boost is used via add_subdirectory or similar.
2025-09-11 16:10:14 +02:00
Alexander Grund
7ab2d8dbfc
Only consider test dependencies of requested libraries
...
Don't check the test/example folders for (implicit) dependencies as
BUILD_TESTING for those is disabled.
2025-09-11 16:05:48 +02:00
Alexander Grund
ca0f8e1f77
Handle Boost.ASIO
2025-09-11 16:05:48 +02:00
Alexander Grund
e9254ea803
Handle subfolders recursively
2025-09-11 16:05:48 +02:00
Alexander Grund
470c792b6d
Handle Boost.Test
2025-09-11 16:05:48 +02:00
Alexander Grund
8b60ba191a
Allow free-form Boost::foo
2025-09-11 16:05:48 +02:00
Alexander Grund
cb6a0a7d9f
Correctly handle dependencies of test dependencies
2025-09-11 16:05:48 +02:00
Alexander Grund
93f9f3f783
Don't add all libraries when BOOST_INCLUDE_LIBRARIES is set
...
Previously all libraries were added even though only a subset was selected.
This makes the configure process much longer then required or may fail
for libraries that aren't intended to be build.
Instead gather a 2nd list of dependencies determined by the test/CMakeLists.txt
when BUILD_TESTING is ON and add only those (with disabled install and tests)
2025-09-11 16:05:48 +02:00
Alexander Grund
613c0d5499
Error out if no included libraries were found
2025-09-11 12:15:31 +02:00
Peter Dimov
8ba1e3f4c1
Update comment
2024-10-10 14:45:43 +03:00
zjyhjqs
113ecd751e
Add CPack support
2024-10-03 11:07:41 +08:00
Peter Dimov
bb741d09d2
Add VERBATIM to add_custom_target
2024-07-13 21:13:18 +03:00
Peter Dimov
4c6884c2e2
Update description of BOOST_ENABLE_MPI to require CMake 3.10, because in 3.9 the MPI_CXX target refers to the C++ API, instead of (as in 3.10+) to the C API used from C++
2024-05-23 20:47:55 +03:00
Peter Dimov
33c036bd70
Link Boost::headers to all INTERFACE libraries when BOOST_ENABLE_COMPATIBILITY_TARGETS is ON
2024-05-14 20:01:06 +03:00
Peter Dimov
0994f04d69
Add compatibility targets to BoostRoot.cmake
2024-05-14 19:36:49 +03:00
Peter Dimov
3e81b4a371
Cosmetic formatting changes
2023-12-22 01:44:36 +02:00
Peter Dimov
8b6037e4c2
Merge pull request #47 from BraHei/feature/improved_fetchcontent_support
...
Add BOOST_SKIP_INSTALL_RULES check
2023-12-22 01:41:50 +02:00
Peter Dimov
e388dba756
Also allow '$<BUILD_INTERFACE:include>' instead of 'include' as the target_include_directories property
2023-12-17 06:05:37 +02:00
Peter Dimov
fd3c39dd4f
Add tests-quick and check-quick targets
2023-12-16 17:41:29 +02:00
BraHei
07e6e45002
Update BoostRoot.cmake
...
Added check for BOOST_SKIP_INSTALL_RULES
2023-11-24 13:39:36 +01:00
Peter Dimov
69f16e2819
Only put dependencies into a folder if CMAKE_FOLDER isn't already set
2023-02-16 21:47:26 +02:00
Peter Dimov
08fb18d575
Put dependencies into a Dependencies IDE folder. Closes #37 .
2023-02-08 03:11:08 +02:00
Peter Dimov
0e34b571cb
Add options for -fvisibility, set to hidden by default to match b2. Refs #35 .
2023-01-08 18:39:42 +02:00
Peter Dimov
92c5dc1732
Add config/BoostConfig.cmake, install it
2023-01-04 19:33:18 +02:00
Peter Dimov
e5825b0640
Consider headers an implicit dependency, to enable the target Boost::headers when installed
2023-01-03 05:26:18 +02:00
Peter Dimov
2fa92da819
Cosmetic fixes
2022-11-26 18:44:34 +02:00
Alexander Grund
0e39563d3a
Print CMake version on VERBOSE configure
...
As CMake changes behavior or available features depending on the version it is useful to know the version actually used during a configure run.
2022-11-26 17:01:45 +01:00
Peter Dimov
4c755a7404
Use BOOST_SKIP_INSTALL_RULES instead of CMAKE_SKIP_INSTALL_RULES, as the latter inhibits the generation of cmake_install.cmake and install targets
2022-10-21 01:34:52 +03:00
Peter Dimov
867da2bf4d
Remove gil from the incompatible libraries
2022-06-21 20:42:31 +03:00
Peter Dimov
6f704f541f
Add dependency of check on tests when check is declared, not in BoostTest
2022-06-03 06:20:02 +03:00
Peter Dimov
108b079520
Add --no-tests=error to target check
2022-06-03 05:59:45 +03:00
Peter Dimov
ff7da80c6e
Remove hana and safe_numerics from the incompatible library list
2021-10-29 21:06:17 +03:00
Peter Dimov
f1f15cd166
Remove compute from BOOST_INCOMPATIBLE_LIBRARIES
2021-09-24 19:32:22 +03:00
Peter Dimov
c2f52bfbb3
Update BoostRoot to not define cache variables when not root project
2021-09-18 16:38:56 +03:00
Peter Dimov
7b72b9c087
Save and restore variable values instead of unsetting them, because https://gitlab.kitware.com/cmake/cmake/-/issues/22651
2021-09-18 15:11:54 +03:00
Peter Dimov
4dfbec1d50
Remove hof from BOOST_INCOMPATIBLE_LIBRARIES
2021-09-16 14:26:54 +03:00
Peter Dimov
6294c9f3a7
Remove stl_interfaces, yap from BOOST_INCOMPATIBLE_LIBRARIES
2021-09-16 14:20:09 +03:00