Commit Graph

68255 Commits

Author SHA1 Message Date
Brad King 90e3d69551 Merge topic 'hurd-rpath-origin'
8d2f6f0971 hurd: Fix runtime path test
0c452257e7 hurd: Add relative rpath support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10078
2024-12-10 09:17:30 -05:00
Brad King f0a79d35df Merge topic 'swift-module-dir-genex'
4de5ef45f0 ci: Enable Swift tests in Ninja Multi-Config job on Windows
e1d635e71c Swift: Expand generator expressions in Swift_MODULE_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10062
2024-12-10 09:15:59 -05:00
Brad King 97193120d6 Merge topic 'fix-jsoncpp-version-iwyu'
75f53f9e11 IWYU: Add mapping for jsoncpp version.h

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10081
2024-12-10 09:14:54 -05:00
Brad King a4c706a5e6 Merge topic 'isolate-find_package-tests'
c10e1ea979 Tests: Better isolate find_package tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10080
2024-12-10 09:14:00 -05:00
Brad King 621c54bbbc Merge branch 'release-3.31' 2024-12-10 09:12:04 -05:00
Brad King 27be881b3f Merge topic 'vs-clang-cl-c++23'
30139913e9 VS: Restore support for mixing C++23 and C in one target with clang-cl
57da8712c1 VS: Factor out check for mixed C and C++ target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10082
2024-12-10 09:12:04 -05:00
Brad King c5ad3f9792 Merge topic 'vs-clang-cl-c++23' into release-3.31
30139913e9 VS: Restore support for mixing C++23 and C in one target with clang-cl
57da8712c1 VS: Factor out check for mixed C and C++ target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10082
2024-12-10 09:12:02 -05:00
Kitware Robot a2c30a4eeb CMake Nightly Date Stamp 2024-12-10 00:01:29 -05:00
Brad King 30139913e9 VS: Restore support for mixing C++23 and C in one target with clang-cl
Since commit 474eafe28c (clang-cl: Add support for C++23, 2024-09-13,
v3.31.0-rc1~97^2) we use a Clang-specific flag to enable C++23 since
`clang-cl` has no `-std:c++23` flag, and `-std:c++latest` may enable an
even newer version of C++.  However, in `.vcxproj` files there is no way
to express a target-wide `-clang:-std=c++23` flag for only C++ sources
when the target also has C sources.  Add a special case to map back to
`-std:c++latest` for targets with C++23 and C together.

Fixes: #26508
2024-12-09 14:57:35 -05:00
Brad King 57da8712c1 VS: Factor out check for mixed C and C++ target 2024-12-09 14:19:51 -05:00
Matthew Woehlke 75f53f9e11 IWYU: Add mapping for jsoncpp version.h
Add an IWYU rule for `version.h` from `jsoncpp`. This mirrors the
existing rules that recommend `value.h` for things from `forwards.h` and
`config.h`, and is needed for IWYU to not complain about use of things
from `version.h`. (This is especially important as we do not directly
wrap `version.h`.)
2024-12-09 14:13:05 -05:00
Brad King 4de5ef45f0 ci: Enable Swift tests in Ninja Multi-Config job on Windows 2024-12-09 13:43:28 -05:00
Evan Wilde e1d635e71c Swift: Expand generator expressions in Swift_MODULE_DIRECTORY
This patch makes the `Swift_MODULE_DIRECTORY` property behave more like
the other output directory properties, allowing generator expressions
and fixing the behavior with multi-config generators.

Issue: #26010
2024-12-09 10:37:05 -08:00
Matthew Woehlke c10e1ea979 Tests: Better isolate find_package tests
Tweak find_package test to turn off as much searching of the host
environment as possible. This should make the tests less likely to be
affected in case the host system happens to have a package with the same
name as one of the test packages.
2024-12-09 10:52:55 -05:00
Brad King 41cd84174a Merge topic 'makefile-stack-manipulation'
dcaa52c6c3 PrintCallStack: "Fix" entry suppression
a73955ae76 cmMakefile: Allow arbitrary stack manipulation
de5700a15a cmMakefile: Prevent copying RAII helpers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10067
2024-12-09 10:00:52 -05:00
Brad King b66c010033 Merge topic 'refactor-find_package'
e2a6416622 find_package: Refactor in support of recursion
bd542748af find_package: Use map::emplace instead of make_pair

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10054
2024-12-09 09:59:00 -05:00
Brad King bf3d80981d Merge topic 'patch-condition-arguments-examples'
70ccf47e60 Help: Add more examples for condition syntax in commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10073
2024-12-09 09:57:41 -05:00
Brad King 8c53b0be2a Merge topic 'xcode-embed-frameworks'
0282429c5a Xcode: Fix XCODE_EMBED_FRAMEWORKS when settings differ across targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9985
2024-12-09 09:56:10 -05:00
Samuel Thibault 8d2f6f0971 hurd: Fix runtime path test 2024-12-09 10:25:20 +01:00
Kitware Robot 29302e11bb CMake Nightly Date Stamp 2024-12-09 00:01:29 -05:00
Samuel Thibault 0c452257e7 hurd: Add relative rpath support 2024-12-09 01:22:18 +01:00
Kitware Robot 175b74ed0a CMake Nightly Date Stamp 2024-12-08 00:01:39 -05:00
Brad King a93df3a609 Merge topic 'doc-coding-conventions'
24d97da543 Help/dev: Add some coding conventions to source code guide

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10076
2024-12-07 09:16:06 -05:00
Matthew Woehlke dcaa52c6c3 PrintCallStack: "Fix" entry suppression
Backtraces may contain non-specific entries (n.b. FromListFilePath in
cmListFileContext). Our prior expectation is that these will ALWAYS
replaced by more specific entries. However, with the previous change to
allow users to create arbitrary stack entries, this is no longer the
case. Modify PrintCallStack to only skip printing these non-specific
entries if they were in fact preceded by a more specific entry.

This, and the functionality of the preceding commit, is intended to be
used for CPS dependency resolution. Because said resolution may fail at
a non-trivial depth, it is important to be able to provide the user with
the path of packages that led to the failure. However, because this
happens through parsing JSON, there is no listfile function to associate
with the stack entries, nor do we attempt to keep track of line numbers
from the JSON. As a result, these entries will never be more specific
than the name of the CPS file whose dependencies we are trying to
locate.
2024-12-07 09:12:54 -05:00
Matthew Woehlke a73955ae76 cmMakefile: Allow arbitrary stack manipulation
Create a helper class to allow insertion of arbitrary entries into the
call stack (i.e. not associated with ExecuteCommand, ReadDependentFile,
etc.). Refactor ExecuteCommand helper class to leverage this and to be
named more consistently with similar helpers.
2024-12-07 09:11:45 -05:00
Kitware Robot a5e5064844 CMake Nightly Date Stamp 2024-12-07 00:01:10 -05:00
Brad King 24d97da543 Help/dev: Add some coding conventions to source code guide 2024-12-06 14:07:32 -05:00
Aleksei Sapitskii 0282429c5a Xcode: Fix XCODE_EMBED_FRAMEWORKS when settings differ across targets
In commit 5651901c54 (Xcode: add support for embedding frameworks,
2020-10-24, v3.20.0-rc1~402^2) we incorrectly reused `PBXBuildFile`
instances when the same framework is embedded in multiple targets,
causing target-specific settings to conflict.

Fixes: #26438
2024-12-06 09:22:07 -05:00
Kitware Robot 3d535b0969 CMake Nightly Date Stamp 2024-12-06 00:01:13 -05:00
Peter Kokot 70ccf47e60 Help: Add more examples for condition syntax in commands
Issue: #26487
2024-12-06 03:09:46 +01:00
Brad King bed97ced45 Merge branch 'release-3.31' 2024-12-05 09:12:51 -05:00
Brad King 793c5f11f6 CMake 3.31.2 v3.31.2 2024-12-05 08:42:47 -05:00
Brad King ff66b9f071 Merge topic 'IBMClang-as-Clang-variant'
a6f2e9eded IBMClang: Express compiler information as a Clang variant
cac5eb3df2 CompilerId: Ensure internal compiler version string is not optimized out

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10024
2024-12-05 08:19:20 -05:00
Brad King c8f6197e09 Merge topic 'fix-test-clicolor'
3a01e2005e Tests: Unset CLICOLOR[_FORCE]

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !10070
2024-12-05 08:17:55 -05:00
Brad King b932dbe8ed Merge topic 'find_package-fix-sign-conversion'
3f450d2680 find_package: Fix sign-cast warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10064
2024-12-05 08:15:30 -05:00
Brad King b9644d5e75 Merge topic 'docs_VS_PROJECT_IMPORT'
a4fc66bb71 Help: Clarify documentation of VS_PROJECT_IMPORT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10065
2024-12-05 08:14:20 -05:00
Brad King a24b026144 Merge branch 'release-3.31' 2024-12-05 08:10:36 -05:00
Brad King ef26f74442 Merge topic 'autogen-revert-ui-rebuild'
debc4d3906 Autogen: Revert adding ui files to byproducts of the timestamp target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10056
2024-12-05 08:10:36 -05:00
Brad King 4d4d7b793d Merge topic 'autogen-revert-ui-rebuild' into release-3.31
debc4d3906 Autogen: Revert adding ui files to byproducts of the timestamp target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10056
2024-12-05 08:10:35 -05:00
Brad King 4dcb9334b7 Merge branch 'release-3.31' 2024-12-05 08:09:26 -05:00
Brad King 5d5aca82f1 Merge topic 'linker-prefix-crash'
3993dc4214 Merge branch 'backport-linker-prefix-crash' into linker-prefix-crash
76f4fc7dd0 LINK_OPTIONS: Fix crash on empty LINKER: prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10066
2024-12-05 08:09:26 -05:00
Brad King eca2e2650a Merge topic 'linker-prefix-crash' into release-3.31
76f4fc7dd0 LINK_OPTIONS: Fix crash on empty LINKER: prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10066
2024-12-05 08:09:25 -05:00
Brad King 5b39d9b195 Merge branch 'release-3.31' 2024-12-05 08:07:56 -05:00
Brad King 055e17054f Merge topic 'ci-fedora-41'
ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10069
2024-12-05 08:07:56 -05:00
Brad King 8a1bc43662 Merge topic 'ci-fedora-41' into release-3.31
ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10069
2024-12-05 08:07:54 -05:00
Kitware Robot 33c7db21d1 CMake Nightly Date Stamp 2024-12-05 00:01:27 -05:00
Matthew Woehlke de5700a15a cmMakefile: Prevent copying RAII helpers
Delete copy and assignment operators for public scope helpers in
cmMakefile, as use thereof (at least without careful use of move
constructors, which we don't have) would result in bugs. This helps
guard against improper use, and is consistent with the internal helpers
having these deleted.
2024-12-04 15:59:44 -05:00
Matthew Woehlke 3a01e2005e Tests: Unset CLICOLOR[_FORCE]
Ensure that the CLICOLOR[_FORCE] environment variables are not set when
running CMake's tests, as they cause especially RunCMake tests to
produce output that doesn't match the test expectations, resulting in
spurious test failures.
2024-12-04 15:02:04 -05:00
David Tenty a6f2e9eded IBMClang: Express compiler information as a Clang variant
De-duplicate IBMClang compiler information by detecting the base clang
version and following the same logic as we do for any other clang of
that version.  This helps maintain support for new IBMClang features
inherited from new base Clang versions.

We already use this approach for other Clang variants, like CrayClang
and FujitsuClang.
2024-12-04 14:01:52 -05:00
Brad King ec682ff22a ci: Update to ROCm 6 HIP on Fedora 41
The problem that motivated commit 3a44b8dfc0 (ci: Move job for HIP tests
on Fedora 39 to a dedicated base image, 2024-04-24, v3.30.0-rc1~202^2~11)
turns out to be exposed by spaces in the path to HIP binaries.  Move the
CI work directory to a path without spaces.

Closes: #25932
2024-12-04 12:35:01 -05:00