2
0
mirror of https://github.com/boostorg/cmake.git synced 2026-01-19 04:02:15 +00:00

91 Commits

Author SHA1 Message Date
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