2
0
mirror of https://github.com/boostorg/cmake.git synced 2026-01-19 16:12:15 +00:00
Commit Graph

203 Commits

Author SHA1 Message Date
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
Peter Dimov
8becaae3c8 CMAKE_MATCH_x is supported on CMake < 3.9; the CMake documentation is incorrect 2025-10-10 02:57:36 +03:00
Peter Dimov
0f810ec314 Fix link-fail under CMake < 3.12. Refs #95. 2025-10-09 22:35:09 +03: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
7f5336b3bf Reflect changes from https://github.com/boostorg/mpi/pull/160 as suggested in #76. Closes #76. 2024-10-29 18:01:16 +02:00
Peter Dimov
4eeb136f14 Fix deduced architecture prefix under MinGW 2024-10-13 03:47:52 +03: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
ae2e6a6471 MSVC 19.40 is still vc143 2024-06-21 14:16:52 +03:00
Peter Dimov
5eab56dd6c Add HINTS to the TARGET_NAME_IF_EXISTS case as well 2024-06-19 22:17:09 +03:00
Peter Dimov
98dd92e976 Merge branch 'rules_foreign_cc_interop' of https://github.com/soro/cmake into feature/pr-67 2024-06-19 22:15:13 +03:00
Soeren Roerden
1cd045fdf6 Add a hint for the stage directory to find_package in the cmake configure files, so that recursive lookup does not fail when configuring as a transitive dependency using rules_foreign_cc (bazel) cmake targets 2024-06-19 12:50:52 -04:00
Pansysk75
d62826e0f4 Rename export directory 2024-06-18 12:10:13 -05:00
Pansysk75
280b8b3ec0 Do export(...) to Boost targets 2024-06-17 13:20:51 -05:00
Peter Dimov
440dd10f57 Special-case boost_exception and boost_test_exec_monitor, because they are hardcoded as STATIC 2024-05-31 04:44:04 +03:00
Peter Dimov
02587d479e Move the Boost_USE_STATIC_LIBS check from -config to -config-version 2024-05-28 21:55:26 +03:00
Peter Dimov
f36ef31f66 Honor Boost_USE_STATIC_LIBS in generated config files 2024-05-28 20:56:56 +03:00
Peter Dimov
5ad9418846 Add verbose output to installed config files 2024-05-28 20:23:05 +03:00
Peter Dimov
e73f78f361 Install static/shared library config files in separate directories. Refs #62. 2024-05-28 18:27:15 +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
Alexander Neumann
c2ee7bb2eb refine arch prefix selection 2024-04-28 11:41:33 +02:00
Peter Dimov
e5b13bf36b Merge pull request #58 from Neumann-A/optional-deps
Add optional deps into generated config
2024-04-24 13:23:54 +03:00
Alexander Neumann
e66171af0e Remove extra \ 2024-04-24 09:22:19 +02:00
Peter Dimov
d62cda17f7 Merge pull request #57 from Neumann-A/arch-tags
Add more arch tags
2024-04-20 17:17:11 +03:00
Alexander Neumann
e1d79b3e14 Do as requested 2024-04-20 12:08:48 +02:00
Alexander Neumann
09d9688e56 Introduce BOOST_ARCHITECTURE_TAG and precalculate it. 2024-04-20 11:49:27 +02:00
Alexander Neumann
8d80c613e1 Make zstd check agnostic to generator expressions and always use CONFIG mode 2024-04-19 23:41:53 +02:00
Alexander Neumann
f515d24900 Add optional deps into generated config 2024-04-19 23:29:11 +02:00
Alexander Neumann
ab16329fb5 Add more arch tags following FindBoost.cmake 2024-04-19 23:10:00 +02:00
Peter Dimov
8beeb2a656 Add support for BOOST_TEST_PREFIX to BoostTest 2023-12-22 03:47:18 +02:00
Peter Dimov
88d8b7e3cb Add INCLUDE_DIRECTORIES support to BoostTestJamfile 2023-12-22 03:39:52 +02:00