Commit Graph

35342 Commits

Author SHA1 Message Date
Kitware Robot 9c43492989 CMake Nightly Date Stamp 2024-02-28 00:01:21 -05:00
Brad King f8eadaa8b3 Merge topic 'cmDebugTools-disable-with-env'
68b32ff801 cmDebugTools: offer a way to disable `CM_DBG` output at runtime

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9287
2024-02-27 09:09:52 -05:00
Brad King 65791d44e4 Merge topic 'cxxmodules-fileset-cache-fullpath'
0a18f9baad cmGeneratorTarget: collapse paths before querying the fileset cache

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9286
2024-02-27 09:06:25 -05:00
Kitware Robot 3b7e8e966f CMake Nightly Date Stamp 2024-02-27 00:01:10 -05:00
Brad King 610e5b3d94 Merge topic 'swift-exe-module-name'
f292e28b84 Swift: Ninja: Pass module name to all swift builds

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9282
2024-02-26 10:19:22 -05:00
Kitware Robot 7a7c9f5295 CMake Nightly Date Stamp 2024-02-26 00:01:44 -05:00
Kitware Robot 22c21f7aa0 CMake Nightly Date Stamp 2024-02-25 00:01:12 -05:00
Ben Boeckel 68b32ff801 cmDebugTools: offer a way to disable CM_DBG output at runtime
This allows information to be gathered while debugging while also
supporting running the test suite with the debugging enabled to test
CMake module changes without tripping `stderr` output checkers.
2024-02-24 17:22:13 -05:00
Ben Boeckel 0a18f9baad cmGeneratorTarget: collapse paths before querying the fileset cache
Observed with paths with `../` when outside of the source tree. I
attempted to reproduce a test suite case for it but could not make it
happen.
2024-02-24 17:17:39 -05:00
Kitware Robot 709f4ea1de CMake Nightly Date Stamp 2024-02-24 00:01:16 -05:00
Evan Wilde f292e28b84 Swift: Ninja: Pass module name to all swift builds
Executables that don't export a public API should not emit a
swiftmodule, but the swift modulename is observable from within the
program, so we should still set the module name on executable builds.

Fixes: #25710
2024-02-23 11:12:05 -05:00
Brad King 7f1bdcc714 Merge topic 'vs-UseDebugLibraries'
721d8b192a VS: Add UseDebugLibraries to vcxproj files by default
47136b6959 VS: Suppress more MSBuild defaults affected by UseDebugLibraries
82a174182a cmVisualStudioGeneratorOptions: Add UsingDebugRuntime method
f498032141 cmVisualStudioGeneratorOptions: Rename {IsDebug => UsingDebugInfo}

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9275
2024-02-23 08:35:04 -05:00
Kitware Robot 87f270800c CMake Nightly Date Stamp 2024-02-23 00:01:11 -05:00
Brad King dc45b20aca CMake 3.29.0-rc2 2024-02-22 09:40:22 -05:00
Brad King 721d8b192a VS: Add UseDebugLibraries to vcxproj files by default
Use heuristics to select a reasonable value.  Add policy CMP0162
to provide compatibility with existing projects.

Fixes: #25327
2024-02-22 08:43:16 -05:00
Brad King 47136b6959 VS: Suppress more MSBuild defaults affected by UseDebugLibraries
Extend commit 67de5b7b82 (VS: Suppress MSBuild default settings affected
by UseDebugLibraries, 2024-02-13) to cover a `Microsoft.Cl.Common.props`
default from VS 2015 and older.
2024-02-22 08:42:58 -05:00
Brad King 14ed766e12 Merge topic 'preset-includes-macro-expansion'
1a38ffc656 presets: Expand more macros in the `include` directive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9108
2024-02-22 08:32:10 -05:00
Brad King 2ce2aebb6f Merge topic 'restore-link-interface-objlib-with-unity'
5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
1313c78a9c Tests: Update RunCMake.TargetObjects cmake_minimum_required version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9279
2024-02-22 08:26:12 -05:00
Brad King 312d0ccb6b Merge topic 'restore-link-interface-objlib-with-unity' into release-3.29
5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
1313c78a9c Tests: Update RunCMake.TargetObjects cmake_minimum_required version

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9279
2024-02-22 08:26:11 -05:00
Kitware Robot 54c36c7557 CMake Nightly Date Stamp 2024-02-22 00:01:19 -05:00
Brad King 5b8e9e068f Restore support for TARGET_OBJECTS in link interfaces with unity builds
This was broken by commit df08c37a42 (cmGlobalGenerator: Add unity/pch
sources after computing compile features, 2024-02-02, v3.28.3~1^2~1^2),
and 3.28.2's commit 76b5383123 (cmGlobalGenerator: add unity sources
after computing target compile features, 2024-01-01, v3.28.2~17^2~1).

The problem is very similar to that fixed by commit 4e8f24e977 (PCH:
Clear link interface cache when adding PCH object to it, 2022-01-24,
v3.23.0-rc1~44^2~9).  Generalize that fix.

Fixes: #25696
2024-02-21 17:08:57 -05:00
Cristian Le 1a38ffc656 presets: Expand more macros in the include directive
Signed-off-by: Cristian Le <cristian.le@mpsd.mpg.de>
2024-02-21 13:47:08 -05:00
Brad King 07c219da13 Merge topic 'cxxmodules-transitive-modules-usage'
ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively
67466ddf65 cmExportFileGenerator: export link libraries as-is
a2e3e61a31 Tests/CXXModules: test transitive modules usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9273
2024-02-21 13:34:36 -05:00
Brad King c66396699b Merge topic 'cxxmodules-transitive-modules-usage' into release-3.29
ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively
67466ddf65 cmExportFileGenerator: export link libraries as-is
a2e3e61a31 Tests/CXXModules: test transitive modules usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9273
2024-02-21 13:34:34 -05:00
Kitware Robot f5b0fe1899 CMake Nightly Date Stamp 2024-02-21 00:01:17 -05:00
Ben Boeckel ec348ee4b9 cmGeneratorTarget: discover synthetic targets recursively
Fixes: #25288
2024-02-20 10:53:31 -05:00
Ben Boeckel 67466ddf65 cmExportFileGenerator: export link libraries as-is
This allows for transitive modules to work because
`$<COMPILE_ONLY>`-wrapped dependencies do not end up in the
`linked-target-dirs` collator property. Test suite exported property
tests updated to account for the change.
2024-02-20 10:53:31 -05:00
Brad King 82a174182a cmVisualStudioGeneratorOptions: Add UsingDebugRuntime method 2024-02-20 10:48:31 -05:00
Brad King f498032141 cmVisualStudioGeneratorOptions: Rename {IsDebug => UsingDebugInfo}
The latter name is more precise.
2024-02-20 10:48:31 -05:00
Brad King 3a171009e9 Merge topic 'vs-UseDebugLibraries'
b814641444 VS: Add [CMAKE_]VS_USE_DEBUG_LIBRARIES options to control UseDebugLibraries
67de5b7b82 VS: Suppress MSBuild default settings affected by UseDebugLibraries
0ae372daee VS: Factor out common MS tool configuration

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9270
2024-02-20 10:37:32 -05:00
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 d2df2e94e5 Merge topic 'vs-17.10' into release-3.29
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:00 -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 dcdbdd82d5 Merge topic 'cxxmodules-transitive-target-usage' into release-3.29
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:25 -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
Brad King b814641444 VS: Add [CMAKE_]VS_USE_DEBUG_LIBRARIES options to control UseDebugLibraries
This indicates to MSBuild which configurations are considered debug
configurations.  This is useful for reference both by humans and tools.

Issue: #25327
2024-02-19 10:40:41 -05:00
Brad King 67de5b7b82 VS: Suppress MSBuild default settings affected by UseDebugLibraries
`Microsoft.Cl.Common.props` changes some default settings based on
`UseDebugLibraries`.  CMake models its own controls for these settings,
so if the project does not set them, explicitly suppress them to avoid
letting `UseDebugLibraries` affect them.
2024-02-19 10:40:40 -05:00
Brad King 0ae372daee VS: Factor out common MS tool configuration
De-duplicate code writing `PlatformToolset`.
2024-02-19 10:40:40 -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