Commit Graph

35307 Commits

Author SHA1 Message Date
Brad King 9e8731b2ff Merge topic 'vs-17.10'
d256581bb0 VS: Fix '-T version=14.40' under VS 17.10 preview 1
3a7fbd04c8 VS: Verify toolset version= field format more strictly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9271
2024-02-20 10:36:01 -05:00
Brad King 5bc5a485fa Merge topic 'cxxmodules-transitive-target-usage'
8b6fc81fc3 cmTarget: copy link libraries from the right properties
d4a517f82a Tests/CXXModules: add a test with transitive targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9265
2024-02-20 10:30:26 -05:00
Brad King d256581bb0 VS: Fix '-T version=14.40' under VS 17.10 preview 1
VS 17.10 preview 1 comes with toolset `v143` version `14.40`.  This is
the first time that the first three digits of the version do not match
the toolset name.  Add a special case to map version `14.40` back to
toolset `v143`.
2024-02-20 06:23:34 -05:00
Kitware Robot 821a43b1d4 CMake Nightly Date Stamp 2024-02-20 00:01:14 -05:00
Brad King 3a7fbd04c8 VS: Verify toolset version= field format more strictly
In commit 5f13168419 (VS: Add option to select the version of the
toolset used by VS 2017, 2018-05-19, v3.12.0-rc1~38^2) we added logic to
verify that the toolset version, such as `14.35`, matches the toolset
name, such as `v143`.  Clarify the logic to not construct a temporary
nonsensical toolset name like `v1435`.  Also verify the format of the
toolset version more strictly, e.g., to reject `14.350` earlier.
Previously the latter example was only rejected by the `.props` file not
existing.
2024-02-19 12:06:48 -05:00
Ben Boeckel 8b6fc81fc3 cmTarget: copy link libraries from the right properties
This fixes transitive dependencies' usage requirements not appearing
when compiling synthetic targets.

See: https://discourse.cmake.org/t/9819
2024-02-19 10:25:29 -05:00
Brad King 14b0ebd4ca Merge topic 'presets-macro-expander'
741a207717 presets: Refactor macro expander implementation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9252
2024-02-19 09:28:27 -05:00
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
Brad King f18ba02d7e Merge topic 'cxxmodules-nmc-duplicate-synthetic-targets' into release-3.29
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:21 -05:00
Kitware Robot be67b4baf2 CMake Nightly Date Stamp 2024-02-19 00:02:02 -05:00
Kitware Robot e75afeae5c CMake Nightly Date Stamp 2024-02-18 00:01:11 -05:00
Kitware Robot eb7b504471 CMake Nightly Date Stamp 2024-02-17 00:01:20 -05:00
Ben Boeckel 5261af9424 cmGeneratorTarget: store synthetic targets in its cache
The synthetic target cache was never actually updated, so record them in
the cache so that reuses can actually be discovered.

Fixes: #25568
2024-02-16 11:09:56 -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 b1126ce2d9 Merge topic 'update-kwsys'
c845da5dfb Merge branch 'upstream-KWSys' into update-kwsys
e34aa12e66 KWSys 2024-02-15 (aad06964)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9260
2024-02-16 09:52:28 -05:00
Brad King 7d1356517d Merge topic 'cxxmodules-dyndep-error-on-private-usage'
3f8a59a05c cxxmodules: return failure from the collator when private usage is found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9257
2024-02-16 09:41:27 -05:00
Brad King 0e60e84d35 Merge topic 'cxxmodules-dyndep-error-on-private-usage' into release-3.29
3f8a59a05c cxxmodules: return failure from the collator when private usage is found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9257
2024-02-16 09:41:20 -05:00
Brad King fb0988a276 Merge topic 'cxxmodules-dyndep-error-on-private-usage' into release-3.28
3f8a59a05c cxxmodules: return failure from the collator when private usage is found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9257
2024-02-16 09:40:07 -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 273463aaa9 Merge topic 'cxxmodules-collation-restat' into release-3.29
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:15 -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 00fcb1dc81 Merge topic 'cxxmodules-visibility-change-rebuild' into release-3.29
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:49 -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 97132612f6 Merge topic 'cxxmodules-depend-on-modmap-file' into release-3.29
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:52 -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
Cristian Le 741a207717 presets: Refactor macro expander implementation
Change the macro expander to use vtable dispatch.

Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
2024-02-16 07:50:01 -05:00
Kitware Robot 93da029fbf CMake Nightly Date Stamp 2024-02-16 00:01: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 1223c9a398 Merge topic 'cmake-language-exit-code' into release-3.29
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:56 -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 b13aca575e Merge topic 'cxxmodules-collapse-source-paths' into release-3.29
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:39 -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
Brad King 12160f2a16 Merge topic 'cppcheck-fixes'
c934a881e7 Reduce scope of variable
01c22dfaee Range-for loop with const reference
3850def5e6 Use prefix ++ operators for non-primitive types
95a9494974 Remove unused variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9254
2024-02-15 12:43:20 -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
Brad King c845da5dfb Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-02-15 (aad06964)
2024-02-15 08:37:03 -05:00
Kitware Robot 4838861883 CMake Nightly Date Stamp 2024-02-15 00:01:15 -05:00
Ben Boeckel a7424b636b Ninja: make the collator rule use restat = 1
This avoids rebuilds when the module metadata does not change.
2024-02-14 23:01:25 -05:00
Ben Boeckel 60a8736378 cmNinjaTargetGenerator: scanning depends on the module metadata
Fixes: #25531
2024-02-14 22:36:37 -05:00
Ben Boeckel 9a45c9fbd5 cmNinjaTargetGenerator: use emplace_back for scanning deps 2024-02-14 20:38:06 -05:00
Ben Boeckel 363300ace5 cxxmodules: depend on the modmap contents
If the modmap changes, we need to recompile. It is not just a file that
needs to exist to compile.

Fixes: #25511
2024-02-14 20:36:47 -05:00
Ben Boeckel 3f8a59a05c cxxmodules: return failure from the collator when private usage is found 2024-02-14 20:26:59 -05:00
Christoph Grüninger c934a881e7 Reduce scope of variable
Found by Cppcheck (variableScope)
2024-02-14 20:46:03 +01:00
Christoph Grüninger 3850def5e6 Use prefix ++ operators for non-primitive types
Prevent unnecessary calls to copy constructor
Found by Cppcheck (postfixOperator)
2024-02-14 20:46:02 +01:00
Christoph Grüninger 95a9494974 Remove unused variable
Found by Cppcheck.
2024-02-14 20:46:02 +01: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