Commit Graph

15708 Commits

Author SHA1 Message Date
Brad King
a5328ab279 Merge topic 'doc-typos-cleanup-4.2'
730cad9cb6 Help: Fix typos and formatting for 4.2 release

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11418
2025-11-14 09:49:18 -05:00
Craig Scott
730cad9cb6 Help: Fix typos and formatting for 4.2 release 2025-11-14 16:29:51 +11:00
Brad King
3653b3e95e Merge branch 'backport-ci-debian-13' into ci-debian-13 2025-11-12 14:44:43 -05:00
Brad King
388e2ae0a5 FindPostgreSQL: Add support for version 17 2025-11-12 14:35:11 -05:00
Brad King
a0642acbce FindImageMagick: Fix detection of version 7 from headers 2025-11-12 14:35:11 -05:00
Brad King
faf8addc71 FindJNI: Add Debian/Ubuntu specific paths for more recent JDK versions 2025-11-12 14:35:11 -05:00
Brad King
64ffd3b323 Merge topic 'findopengl-glvnd-legacy'
32a5f11e50 FindOpenGL: respect legacy preference for OpenGL and GLX libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11385
2025-11-12 11:51:27 -05:00
Quinn Powell
32a5f11e50 FindOpenGL: respect legacy preference for OpenGL and GLX libraries
Fixes: #27299
2025-11-11 14:46:57 -05:00
Peter Kokot
35b1250b0a GNUInstallDirs: Add notice about --prefix option
When setting the installation prefix at the installation phase
(`cmake --install`) using the `--prefix` option, the GNU special cases
aren't applicable. This also adds a small clarification when to use the
`--prefix` option at the installation phase.

Briefly mentioned also the CMake presets installDir field,
the CPACK_PACKAGING_INSTALL_PREFIX variable, and the $<INSTALL_PREFIX>
generator expression so user has a better overview.

Fixes #27343
Fixes #26338
2025-11-10 22:44:12 +01:00
Clinton Stimpson
5a18728cec CPack/Archive: Add support for setting UID/GID in archive
Add `CPACK_ARCHIVE_UID` and `CPACK_ARCHIVE_GID` options.

Add a policy to change the default to 0/0 to enable ownership
by root if unpacking as root.

Fixes: #12901
2025-11-08 09:25:08 -05:00
Brad King
c7ba476337 Merge topic 'gtest-discovery-race-condition'
72ce711899 GoogleTest: Avoid POST_BUILD race condition for gtest_discover_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11392
2025-11-07 09:18:17 -05:00
Brad King
72ce711899 GoogleTest: Avoid POST_BUILD race condition for gtest_discover_tests()
Fix commit 6680df042e (GoogleTest: Avoid POST_BUILD race condition for
gtest_discover_tests(), 2025-10-26, v4.2.0-rc2~15^2) to actually hash
the target name instead of an empty string.

Fixes: #27319
2025-11-06 14:28:30 -05:00
Peter Kokot
c05e60ecb2 GNUInstallDirs: Add more info about DATADIR 2025-11-01 21:42:55 +01:00
Alex Turbov
2ca11db2e3 pre-commit: version bump typos hook plus fix found typos
Backport commit 8de02a14c8 (ci(pre-commit): version bump `typos` hook
plus fix found typos, 2025-10-23) to the CMake 4.2 release branch.
2025-10-30 17:43:16 -04:00
Brad King
daa7926c68 GoogleTest: Report timeout duration on discovery failure 2025-10-30 13:00:56 -04:00
Brad King
922fb7fd63 Merge topic 'macos-no-per-arch-sysroot'
1925477cb7 macOS: Do not incorrectly search for per-arch SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11372
2025-10-30 08:54:34 -04:00
Brad King
1925477cb7 macOS: Do not incorrectly search for per-arch SDKs
Extend commit a9b41195d2 (Handle multi-arch sysroots on Apple platforms,
2019-07-26, v3.17.0-rc1~287^2) to recognize versioned macOS SDK names.

Fixes: #27340
2025-10-29 14:50:51 -04:00
Brad King
932ba12b41 Merge topic 'python_debug_postifx_no_interpreter'
6a35c277d0 FindPython: Support getting DEBUG_POSTFIX without requiring Interpreter
43fec72adb Tests: Fix RunCMake.UseSWIG SetPOSTFIX case on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11345
2025-10-28 09:34:33 -04:00
Brad King
3ef5ce55db Merge topic 'python_debug_postifx_no_interpreter' into release-4.2
6a35c277d0 FindPython: Support getting DEBUG_POSTFIX without requiring Interpreter
43fec72adb Tests: Fix RunCMake.UseSWIG SetPOSTFIX case on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11345
2025-10-28 09:34:29 -04:00
Craig Scott
8e3a3e4813 Merge topic 'gtest-policy-update-4_2'
2eceae155f GoogleTest: Update policies to CMake 4.2

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11358
2025-10-28 07:12:02 -04:00
Andrej730
6a35c277d0 FindPython: Support getting DEBUG_POSTFIX without requiring Interpreter 2025-10-27 10:27:32 -04:00
Brad King
4af712ea3b Merge topic 'gtest-discovery-race-condition'
6680df042e GoogleTest: Avoid POST_BUILD race condition for gtest_discover_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11357
2025-10-27 09:35:53 -04:00
Brad King
009f1ab0e3 Merge topic 'gtest-discovery-race-condition' into release-4.2
6680df042e GoogleTest: Avoid POST_BUILD race condition for gtest_discover_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11357
2025-10-27 09:35:50 -04:00
Brad King
8986b8b7ae Merge topic 'xcode-macos-deployment-target'
de53a46a91 Help: Add 4.1 release note for restored Xcode default deployment target
85ba6f5d1b Merge branch 'backport-4.0-xcode-macos-deployment-target'
884260ced6 Help: Add 4.0 release note for restored Xcode default deployment target
1a37c83c7e Xcode: Restore default CMAKE_OSX_DEPLOYMENT_TARGET to run on host
e927408047 Apple: Initialize deployment target after SDK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11361
2025-10-27 09:26:18 -04:00
Brad King
b39e361175 Merge topic 'xcode-macos-deployment-target' into release-4.2
de53a46a91 Help: Add 4.1 release note for restored Xcode default deployment target
85ba6f5d1b Merge branch 'backport-4.0-xcode-macos-deployment-target'
884260ced6 Help: Add 4.0 release note for restored Xcode default deployment target
1a37c83c7e Xcode: Restore default CMAKE_OSX_DEPLOYMENT_TARGET to run on host
e927408047 Apple: Initialize deployment target after SDK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11361
2025-10-27 09:26:15 -04:00
Craig Scott
6680df042e GoogleTest: Avoid POST_BUILD race condition for gtest_discover_tests()
If multiple calls to `gtest_discover_tests()` are made with different
targets and they use the same working directory, they would previously
have tried to use the same `cmake_test_discovery.json` file for collecting
the set of tests during discovery. Incorporate a hash of the target name
into the file name to ensure that no longer occurs.

Fixes: #27319
2025-10-27 07:37:00 +11:00
Brad King
85ba6f5d1b Merge branch 'backport-4.0-xcode-macos-deployment-target' 2025-10-26 11:19:58 -04:00
Brad King
1a37c83c7e Xcode: Restore default CMAKE_OSX_DEPLOYMENT_TARGET to run on host
Xcode by default targets the SDK's macOS version rather than the host's
macOS version.  In commit 7b19531291 (macOS: Do not pass any
SDK/-isysroot to compilers by default, 2024-11-06, v4.0.0-rc1~511^2) we
reverted commit 24aafbde11 (Xcode: Adjust deployment target SDK version
to host version, 2015-10-11, v3.4.0-rc2~6^2), but it is still needed for
Xcode.  Restore the behavior so binaries run on the host by default.

Fixes: #27309
2025-10-26 11:19:19 -04:00
Brad King
e927408047 Apple: Initialize deployment target after SDK 2025-10-26 11:16:45 -04:00
Brad King
21f452b059 Merge topic 'fbuild_cuda'
2cfae5e140 ci: Add job for CUDA with FASTBuild generator on Linux
4135175337 FASTBuild: support CUDA language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11324
2025-10-26 10:32:25 -04:00
Brad King
823362224f Merge topic 'fbuild_cuda' into release-4.2
2cfae5e140 ci: Add job for CUDA with FASTBuild generator on Linux
4135175337 FASTBuild: support CUDA language

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11324
2025-10-26 10:32:23 -04:00
Craig Scott
2eceae155f GoogleTest: Update policies to CMake 4.2
In fc7aa3cd69 (tests: Preserve empty arguments in test command lines,
2024-09-30), the CMP0174 policy setting had to be explicitly handled in
GoogleTestAddTests.cmake because it was part of the same release.
Now that we're past that release, we can remove that and update the
policies based on the CMake version instead. This removes the TODO
added in that original commit.

We also update the policy settings in GoogleTest.cmake so that we are
using consistent policy settings across the GoogleTest implementation.
2025-10-26 18:10:40 +11:00
Brad King
badaeac947 Merge topic 'FindPython-3.15'
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Andrej <azhilenkov@gmail.com>
Merge-request: !11350
2025-10-25 09:16:06 -04:00
Brad King
8ba7fc0af9 Merge topic 'FindPython-3.15' into release-4.2
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Andrej <azhilenkov@gmail.com>
Merge-request: !11350
2025-10-25 09:16:05 -04:00
Brad King
aa8f174479 Merge topic 'FindPython-3.15' into release-4.1
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11350
2025-10-25 09:15:27 -04:00
Brad King
91525f6eb0 Merge topic 'FindPython-3.15' into release-4.0
7f628ea04b FindPython: Add support for Python 3.15
5b78983813 Tests/FindBoost/TestPython: Improve python version list formatting

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11350
2025-10-25 09:15:04 -04:00
Brad King
9b7d3405a5 Merge topic 'Fix-missing-SWIG_LINK_LIBRARIES-warning'
6eae783add UseSWIG: Issue `swig_link_libraries` deprecation warning if CMP0078 is NEW

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11349
2025-10-25 09:10:53 -04:00
Eduard Voronkin
4135175337 FASTBuild: support CUDA language
Fixes: #27318
2025-10-25 08:58:38 -04:00
Karolina Surma
7f628ea04b FindPython: Add support for Python 3.15 2025-10-24 17:42:44 -04:00
Andrej730
6eae783add UseSWIG: Issue swig_link_libraries deprecation warning if CMP0078 is NEW 2025-10-24 20:58:23 +05:00
Alex Turbov
8de02a14c8 ci(pre-commit): version bump typos hook plus fix found typos 2025-10-23 21:14:25 +04:00
Brad King
61d0bdf6b7 macOS: Avoid relying on sw_vers when cross-compiling from another OS
We have a few code paths needed only to support builds hosted on
macOS 10.4.  Update the conditions to work when cross-compiling
to macOS from another platform.

This backports commit eb8facd396 (macOS: Avoid relying on sw_vers
when cross-compiling from another OS, 2025-04-28, v4.1.0-rc1~260^2)
to CMake 4.0.

Fixes: #26814
2025-10-22 17:26:36 -04:00
Brad King
d9d65ab54f macOS: Remove outdated condition for CMAKE_OSX_DEPLOYMENT_TARGET
Revert commit 2853326e7a (BUG: Only set CMAKE_OSX_DEPLOYMENT_TARGET on
Mac OSX 10.4 or later, 2009-01-27, v2.8.0~1169).  AFAIK no one is using
macOS versions older than 10.4 anymore.

This backports commit 476b2a386f (macOS: Remove outdated condition
for CMAKE_OSX_DEPLOYMENT_TARGET, 2025-04-28, v4.1.0-rc1~260^2~1)
to CMake 4.0.
2025-10-22 17:26:31 -04:00
Brad King
9801855b63 Merge topic 'gtest-json-discovery-empty'
f67efb64ab GoogleTest: Restore support for empty discovered test list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11326
2025-10-22 07:29:14 -04:00
Brad King
e00b84ec13 Merge topic 'gtest-json-discovery-empty' into release-4.2
f67efb64ab GoogleTest: Restore support for empty discovered test list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11326
2025-10-22 07:29:11 -04:00
Brad King
57c4fafcf5 Merge topic 'fix-cmake_determine_linker_id-error-handling'
69e2f3f8ea Linker: Tolerate CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL set to ANY
576e63f28d Compilers: Use -print-sysroot output only with successful exit code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11313
2025-10-22 07:25:38 -04:00
Ottmar Zittlau
f67efb64ab GoogleTest: Restore support for empty discovered test list
Since commit 1cdceae8e3 (GoogleTest: Parse discovered test list from
JSON output if supported, 2025-05-02, v4.2.0-rc1~533^2~2) we've
incorrectly tried to `return()` from a `macro()` when no tests are
available.  This led to the situation that a file that contains the test
details was not properly overwritten but still indicated that the test
target was not built.

Fixes: #27319
2025-10-21 11:39:19 -04:00
Brad King
636d3a7a2f Apple: Backport "Enable linking during iOS toolchain inspection" to 3.31
Backport commit 79a83ddb08 (Apple: Enable linking during
iOS/tvOS/visionOS/watchOS toolchain inspection, 2024-11-14,
v4.0.0-rc1~471^2) to 3.31.

Since commit 11da882a12 (Apple: Introduce separate system name for iOS,
tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) our toolchain
inspection steps, like ABI detection, tell `try_compile` to use a
`STATIC_LIBRARY` instead of an `EXECUTABLE`.  This was needed at the
time to avoid codesign requirements.  However, commit d3a64c4e3f (Xcode:
Explicitly turn off signing in try_compile projects, 2020-07-16,
v3.19.0-rc1~483^2) introduced a more general solution to that problem.
Restore linking during toolchain inspection so that we can detect and
identify the linker.

Suggested-by: Marc Chevrier <marc.chevrier@gmail.com>
Fixes: #26443
2025-10-21 09:22:41 -04:00
Tristan Daifuku
69e2f3f8ea Linker: Tolerate CMAKE_EXECUTE_PROCESS_COMMAND_ERROR_IS_FATAL set to ANY
Tolerate expected failures of linkers invoked via `execute_process`.
2025-10-20 11:58:46 -04:00
Brad King
576e63f28d Compilers: Use -print-sysroot output only with successful exit code 2025-10-20 11:58:46 -04:00