Commit Graph

68240 Commits

Author SHA1 Message Date
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
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
Kitware Robot
29302e11bb CMake Nightly Date Stamp 2024-12-09 00:01:29 -05: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
Dan Walsh
a4fc66bb71 Help: Clarify documentation of VS_PROJECT_IMPORT
Also add an example.
2024-12-04 10:45:19 -05:00
Brad King
3993dc4214 Merge branch 'backport-linker-prefix-crash' into linker-prefix-crash 2024-12-04 10:21:32 -05:00
Brad King
76f4fc7dd0 LINK_OPTIONS: Fix crash on empty LINKER: prefix
Since commit e3895f4a8b (Linking: Preserve nested LINKER: prefixes as
written, 2024-09-17, v3.31.0-rc1~60^2) we may increment an iterator past
the end.  Revise logic to avoid that.

Fixes: #26499
2024-12-04 10:16:56 -05:00
David Tenty
cac5eb3df2 CompilerId: Ensure internal compiler version string is not optimized out
This was missed in commit 27579e9cf1 (FujitsuClang: Add support for the
Fujitsu compiler in Clang mode, 2020-12-22, v3.21.0-rc1~402^2~5).
2024-12-04 09:28:57 -05:00
Brad King
d625c54141 Merge branch 'release-3.31' 2024-12-04 08:53:54 -05:00
Brad King
129c87fb09 Merge topic 'fileapi-no-link-dependency-file'
1a04515a47 fileapi: Do not expose flags for linker-generated dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10061
2024-12-04 08:53:54 -05:00
Brad King
bf9b13920d Merge topic 'fileapi-no-link-dependency-file' into release-3.31
1a04515a47 fileapi: Do not expose flags for linker-generated dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10061
2024-12-04 08:53:52 -05:00
Brad King
39b96cb0d9 Merge topic 'vs-WindowsKernelModeDriver'
2709f07b4d VS: Add minimal support for Windows Kernel Mode Drivers
fec276e632 cmVisualStudio10TargetGenerator: Use inline member initialization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10042
2024-12-04 08:52:56 -05:00
Brad King
61a57ea717 Merge topic 'doc-check-run'
94b6f8bf4a Help: Check*Runs requires exit code 0 for success

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10047
2024-12-04 08:51:40 -05:00
Brad King
5c490d671a Merge topic 'find_ruby_cleanup'
48bf16fba1 FindRuby: Remove unneeded code and define all functions at the top-level.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10063
2024-12-04 08:50:51 -05:00
Brad King
63b05569d9 Merge topic 'doc-CXX_STANDARD_REQUIRED-alternative'
ae63ce80a1 Help: Suggest target_compile_features as alternative to CXX_STANDARD_REQUIRED

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10057
2024-12-04 08:49:53 -05:00
Brad King
967ffc5fcb Merge topic 'flang-openmp-typo'
3c3f887ff6 FindOpenMP: Fix typo on omp Fortran module name.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10060
2024-12-04 08:48:33 -05:00
Orkun Tokdemir
debc4d3906 Autogen: Revert adding ui files to byproducts of the timestamp target
When `ui_` include directives have different paths than `CMakeLists.txt`,
the dependency graph is not generated correctly.  This is the root cause
of #16776.  However, when #26135 was fixed by commit 5363bebc1e (Autogen:
Fix compilation of unchanged source files, 2024-07-16, v3.31.0-rc1~328^2),
it made #16776 worse: the build is always dirty.  Revert the fix for now.

Fixes: #26485
Issue: #26135
Issue: #25436
2024-12-04 12:37:13 +01:00
Kitware Robot
6a5d305558 CMake Nightly Date Stamp 2024-12-04 00:01:21 -05:00
Matthew Woehlke
3f450d2680 find_package: Fix sign-cast warning
Tweak a helper function to avoid an implicit cast from unsigned to
signed. This is hardly the only -Wsign-conversion we are tripping, but
cmFindPackage is now free of such.
2024-12-03 17:19:39 -05:00