Commit Graph

5322 Commits

Author SHA1 Message Date
Brad King
a621340e03 Merge topic 'cxxmodules-nmc-duplicate-synthetic-targets'
5261af9424 cmGeneratorTarget: store synthetic targets in its cache
e0633a9517 Tests/CXXModules: add a test importing from a `Ninja` install
150d7dbd68 Tests/CXXModules: support building a project with `Ninja`
e48e5e5506 Tests/CXXModules: document `CMake_TEST_MODULE_COMPILATION` items

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9263
2024-02-19 09:23:22 -05:00
Ben Boeckel
e0633a9517 Tests/CXXModules: add a test importing from a Ninja install
This ensures that consuming from a single configuration generator works
in all generators.

See: #25568
2024-02-16 11:09:56 -05:00
Ben Boeckel
150d7dbd68 Tests/CXXModules: support building a project with Ninja
This allows testing mixed generator setups.
2024-02-16 11:09:54 -05:00
Ben Boeckel
e48e5e5506 Tests/CXXModules: document CMake_TEST_MODULE_COMPILATION items 2024-02-16 10:28:10 -05:00
Brad King
c404c6fa7e Merge topic 'generate-buildable-product-runnable-for-profile-action'
021492038e Xcode: Generate BuildableProductRunnable for ProfileAction

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9155
2024-02-16 09:54:43 -05:00
Brad King
d6c81c085c Merge topic 'cxxmodules-collation-restat'
a7424b636b Ninja: make the collator rule use `restat = 1`
e24eecfc33 Tests/CXXModules: add a test to ensure that `restat` works for collation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9259
2024-02-16 09:32:16 -05:00
Brad King
d713896171 Merge topic 'cxxmodules-collation-restat' into release-3.28
a7424b636b Ninja: make the collator rule use `restat = 1`
e24eecfc33 Tests/CXXModules: add a test to ensure that `restat` works for collation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9259
2024-02-16 09:30:50 -05:00
Brad King
4c4951efa8 Merge topic 'cxxmodules-visibility-change-rebuild'
60a8736378 cmNinjaTargetGenerator: scanning depends on the module metadata
52036ce090 Tests/CXXModules: test that objects depend on dependent modules json files
9a45c9fbd5 cmNinjaTargetGenerator: use `emplace_back` for scanning deps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9247
2024-02-16 09:26:50 -05:00
Brad King
d8fd8c2cb1 Merge topic 'cxxmodules-visibility-change-rebuild' into release-3.28
60a8736378 cmNinjaTargetGenerator: scanning depends on the module metadata
52036ce090 Tests/CXXModules: test that objects depend on dependent modules json files
9a45c9fbd5 cmNinjaTargetGenerator: use `emplace_back` for scanning deps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9247
2024-02-16 09:22:32 -05:00
Brad King
f8eaf22182 Merge topic 'cxxmodules-depend-on-modmap-file'
363300ace5 cxxmodules: depend on the modmap contents
940628d48d Tests/CXXModules: test that objects depend on their modmap files
681ee92030 Tests/CXXModules: support testing rebuild conditions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9248
2024-02-16 09:20:54 -05:00
Brad King
2808c49d82 Merge topic 'cxxmodules-depend-on-modmap-file' into release-3.28
363300ace5 cxxmodules: depend on the modmap contents
940628d48d Tests/CXXModules: test that objects depend on their modmap files
681ee92030 Tests/CXXModules: support testing rebuild conditions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9248
2024-02-16 09:20:09 -05:00
Brad King
145d88c612 Merge topic 'cmake-language-exit-code'
86698eea85 cmake_language: Fix EXIT inside control flow blocks
a3033d1a06 Tests: Remove unnecessary RunCMake.cmake_language expected result files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !9250
2024-02-15 12:57:57 -05:00
Brad King
c8da7b0f5c Merge topic 'cxxmodules-collapse-source-paths' into release-3.28
0f0d853de7 cmDyndepCollation: collapse full path before looking up

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9249
2024-02-15 12:55:28 -05:00
Brad King
e1e384c999 Merge topic 'cxxmodules-collapse-source-paths'
0f0d853de7 cmDyndepCollation: collapse full path before looking up

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9249
2024-02-15 12:54:41 -05:00
Brad King
e9d88df971 Merge topic 'genex-quote'
879690ba14 GeneratorExpression: Add $<QUOTE> generator expression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9242
2024-02-15 12:46:50 -05:00
Tor Arne Vestbø
021492038e Xcode: Generate BuildableProductRunnable for ProfileAction
Similarly to the LaunchAction we need to associate a runnable
executable with the launch action.
2024-02-15 16:37:07 +01:00
Ben Boeckel
e24eecfc33 Tests/CXXModules: add a test to ensure that restat works for collation
Also update the `modules-json-file` test to account for the fact that
`CXXModules.json` is not updated for timestamp-only rebuild triggers.

See: #25511
2024-02-14 23:01:25 -05:00
Ben Boeckel
52036ce090 Tests/CXXModules: test that objects depend on dependent modules json files 2024-02-14 22:36:37 -05:00
Ben Boeckel
940628d48d Tests/CXXModules: test that objects depend on their modmap files 2024-02-14 20:36:47 -05:00
Christoph Grüninger
c934a881e7 Reduce scope of variable
Found by Cppcheck (variableScope)
2024-02-14 20:46:03 +01:00
Ben Boeckel
681ee92030 Tests/CXXModules: support testing rebuild conditions 2024-02-14 14:34:07 -05:00
Robert Maynard
879690ba14 GeneratorExpression: Add $<QUOTE> generator expression
Support inserting '"' literals in generator expressions

Fixes #20869
2024-02-14 14:23:18 -05:00
Ben Boeckel
0f0d853de7 cmDyndepCollation: collapse full path before looking up
`cmSourceFile::GetFullPath()` performs a `CollapseFullPath` before
storing the path. Match this behavior when looking up paths from the
source file set constructions.

Fixes: #25614
2024-02-14 11:51:05 -05:00
Brad King
86698eea85 cmake_language: Fix EXIT inside control flow blocks
These were missed in commit 1bb1769235 (cmake_language: Add EXIT
subcommand, 2024-01-05, v3.29.0-rc1~112^2).

Fixes: #25674
2024-02-14 08:51:48 -05:00
Brad King
a3033d1a06 Tests: Remove unnecessary RunCMake.cmake_language expected result files
RunCMake defaults to expecting result `0` with empty stderr.
2024-02-13 17:08:50 -05:00
Brad King
ef673f0c6b Merge topic 'test-iar'
a772c2c384 Tests/RunCMake/IAR: Extend tests to actually build
9f52953df5 Tests/RunCMake/IAR: Enable IAR extended keywords
cc268d58e2 Tests/RunCMake/IAR: Update architecture-specific link flags
bcddea5041 Tests/RunCMake/IAR: Simplify test project cmake code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9240
2024-02-13 08:54:33 -05:00
Brad King
a772c2c384 Tests/RunCMake/IAR: Extend tests to actually build
Extend the tests from commit 37e44707bc (IAR: Add tests covering IAR
toolchains, 2023-10-21) to actually drive the generated build system.
2024-02-12 14:42:54 -05:00
Felipe Torrezan
9f52953df5 Tests/RunCMake/IAR: Enable IAR extended keywords 2024-02-12 14:07:08 -05:00
Felipe Torrezan
cc268d58e2 Tests/RunCMake/IAR: Update architecture-specific link flags 2024-02-12 14:07:07 -05:00
Brad King
bcddea5041 Tests/RunCMake/IAR: Simplify test project cmake code 2024-02-12 14:07:07 -05:00
Brad King
77800b39d8 Merge topic 'ticlang-compilers'
49b5a65477 Merge branch 'backport-ticlang' into ticlang-compilers
4c51136b8c ci: Enable TIClang test on Debian Clang jobs in nightly pipeline
9ba0a54554 TIClang: Add support for TI Clang-based compilers, including tiarmclang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9228
2024-02-12 10:57:19 -05:00
Brad King
4977739fc9 Merge topic 'ticlang-compilers' into release-3.29
4c51136b8c ci: Enable TIClang test on Debian Clang jobs in nightly pipeline
9ba0a54554 TIClang: Add support for TI Clang-based compilers, including tiarmclang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9228
2024-02-12 10:57:18 -05:00
Brad King
8a6a36748e Merge topic 'autogen-rcc-zstd'
9e87df4d46 Autogen/RCC: Disable zstd if it is not supported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !9232
2024-02-12 10:51:12 -05:00
Brad King
f3acc9b1ce Merge topic 'autogen-rcc-zstd' into release-3.29
9e87df4d46 Autogen/RCC: Disable zstd if it is not supported

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !9232
2024-02-12 10:51:11 -05:00
Brad King
361e5fd441 Merge topic 'visionOS'
5b5acb557a Tests: Enable RunCMake.CMakePackage visionOS cases with Xcode 15.2
871a4c5aac Merge branch 'backport-3.28-visionOS' into visionOS
22eb1b6d67 Tests: Enable visionOS tests with Xcode 15.2
f6fa34839c Tests: Update RunCMake.XcodeProject-Device for visionOS in Xcode 15.1 beta
40be88a92e visionOS: Update deployment-target flag for Xcode 15.1 beta
3ece4553c2 cmLocalGenerator: Avoid unnecessary lookup without a deployment target

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Volodymyr B. <v.boichentsov@elsevier.com>
Merge-request: !9239
2024-02-12 10:45:33 -05:00
Brad King
49b5a65477 Merge branch 'backport-ticlang' into ticlang-compilers 2024-02-09 15:56:06 -05:00
Alan Phipps
9ba0a54554 TIClang: Add support for TI Clang-based compilers, including tiarmclang
Add TIClang compiler ID and support in compiler modules.  Update
documentation.  Add rudimentary RunCMake test for TIClang to test
basic functionality.

Fixes: #24619
2024-02-09 15:54:40 -05:00
Brad King
5b5acb557a Tests: Enable RunCMake.CMakePackage visionOS cases with Xcode 15.2
Xcode 15.2 officially includes the visionOS SDKs.

Fix a typo from commit 2a398cd9b6 (CMakePackageConfigHelpers: Clarify
generate_apple_*_selection_file signatures, 2024-01-04) to make it pass.

Issue: #25266
2024-02-09 11:37:40 -05:00
Brad King
871a4c5aac Merge branch 'backport-3.28-visionOS' into visionOS 2024-02-09 11:37:11 -05:00
Brad King
22eb1b6d67 Tests: Enable visionOS tests with Xcode 15.2
Xcode 15.2 officially includes the visionOS SDKs.

Fixes: #25266
2024-02-09 11:32:33 -05:00
Brad King
f6fa34839c Tests: Update RunCMake.XcodeProject-Device for visionOS in Xcode 15.1 beta
The target identification macros changed since the 15.0 beta.
2024-02-09 11:32:23 -05:00
Orkun Tokdemir
9e87df4d46 Autogen/RCC: Disable zstd if it is not supported
Add the `--no-zstd` argument for `RCC` when `QT_FEATURE_zstd` is `OFF`.
This causes user project builds to fail.  That bug is fixed in Qt
by https://codereview.qt-project.org/c/qt/qtbase/+/537546 but for
the older versions, fix it here too.

Fixes: #25664
2024-02-09 09:10:41 -05:00
Brad King
0345c01465 Merge topic 'ctest-resource-allocation-spec-error'
b9bfd411cb CTest: Throw error if resource spec is invalid

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9230
2024-02-09 09:07:09 -05:00
Alexandru Croitor
b9a825b2a8 Tests/RunCMake: Allow specifying extra ignore lines
Tests can set `RunCMake_TEST_EXTRA_IGNORE_LINE_REGEX` before calling
`run_cmake()` to ignore custom patterns.
2024-02-08 11:54:46 -05:00
Brad King
35fa80a498 Merge topic 'clang-cl-showIncludes'
0d933fc0d9 Ninja: Update showIncludes prefix detection for clang-cl 18
a88acb0a41 Tests/RunCMake/Ninja: Rename showIncludes case for clang-cl <= 17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9229
2024-02-08 09:40:54 -05:00
Brad King
f610541523 Merge topic 'clang-cl-showIncludes' into release-3.29
0d933fc0d9 Ninja: Update showIncludes prefix detection for clang-cl 18
a88acb0a41 Tests/RunCMake/Ninja: Rename showIncludes case for clang-cl <= 17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9229
2024-02-08 09:40:52 -05:00
Kyle Edwards
b9bfd411cb CTest: Throw error if resource spec is invalid 2024-02-08 09:02:33 -05:00
Martin Storsjö
0d933fc0d9 Ninja: Update showIncludes prefix detection for clang-cl 18
Since commit LLVM/Clang commit `5523fefb01c2` ([clang][lex] Use
preferred path separator in includer-relative lookup, 2023-09-08), part
of the upcoming 18.x release, the output format of the showIncludes flag
has changed, where it now prints paths with double backslashes:

    Note: including file: .\\foo.h

Previously, we expected to see the path name in the form "./foo.h".

Extend the regex to match a path name starting with `.\`, in addition to
the existing matched patterns.
2024-02-07 09:38:14 -05:00
Brad King
a88acb0a41 Tests/RunCMake/Ninja: Rename showIncludes case for clang-cl <= 17
Make room for a new case for clang-cl 18.
2024-02-07 09:31:42 -05:00
Brad King
9c5e981e60 Add deprecation warnings for policies CMP0128 and below
The OLD behaviors of all policies are deprecated, but only by
documentation.  Add an explicit deprecation diagnostic for policies
introduced in CMake 3.22 and below to encourage projects to port
away from setting policies to OLD.
2024-02-06 17:07:09 -05:00