Commit Graph

38199 Commits

Author SHA1 Message Date
Brad King 021fb8d4e1 Merge topic 'fbuild_fix_use_after_move'
05360d19e9 FASTBuild: fix use-after-move

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11267
2025-09-30 10:18:05 -04:00
Brad King d49518e367 Merge topic 'fbuild_relative_path_on_windows'
c4369b81aa FASTBuild: fix paths' comparison on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11265
2025-09-30 10:17:09 -04:00
Brad King 88c317678e Merge topic 'xcode-icons'
e97fdf7d9a Xcode: Support new Icon Composer .icon resources

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11259
2025-09-30 10:15:57 -04:00
Brad King 65e043ce93 Merge topic 'instrumentation-after-file-api'
f6714b8949 instrumentation: Trigger PostGenerate hook after FileApi replies are written

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11261
2025-09-30 10:07:10 -04:00
Brad King ec0cf06316 Merge topic 'instrumentation-always-record-build'
e730008d7e instrumentation: Record build snippets regardless of hooks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11255
2025-09-30 10:05:02 -04:00
Brad King 7d551a5d6b Merge topic 'genex-transitive-link-libraries'
e0bbe79cea CMP0189: Restore support for linking `$<TARGET_PROPERTY:tgt,LINK_LIBRARIES>`
cb69f750bf cmGeneratorTarget: Factor out helper to detect LINK_LIBRARIES evaluation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11262
2025-09-30 09:59:09 -04:00
Brad King c6934e0928 Merge topic 'vs-sdk-style-platform-override'
4ebedf246d VS: Fix SLNs for DOTNET_SDK targets with VS_GLOBAL_PlatformTarget

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Steven Boswell <ulatekh@yahoo.com>
Merge-request: !11247
2025-09-30 09:57:09 -04:00
Brad King d6e6facc51 Merge topic 'vs-sln'
4747b64fff VS: Restore include_external_msproject type detection

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11266
2025-09-30 09:45:02 -04:00
Kitware Robot 424f0570f1 CMake Nightly Date Stamp 2025-09-30 00:04:56 -04:00
Eduard Voronkin 05360d19e9 FASTBuild: fix use-after-move
Since order of parameters' evaluation
is unspecified in C++, it might happen that
we move `val` before we call `substt()`.
2025-09-29 14:48:46 -07:00
Brad King 4747b64fff VS: Restore include_external_msproject type detection
Refactoring in commit 3882718872 (VS: Decouple solution generation from
`.sln` file format, 2025-09-15) accidentally left out automatic
detection of the external project type id from its file extension.
2025-09-29 16:47:46 -04:00
Eduard Voronkin c4369b81aa FASTBuild: fix paths' comparison on Windows
On Windows we might have different slashes,
so ` if (binDir == converted)` will not work
even for semantically equivalent directories.
2025-09-29 13:13:57 -07:00
Jelle 4ebedf246d VS: Fix SLNs for DOTNET_SDK targets with VS_GLOBAL_PlatformTarget
By default, .NET SDK-style projects build for "Any CPU", so we generate
solution files accordingly.  Although CMake does not model per-target
architectures, some projects set the `VS_GLOBAL_PlatformTarget` property
on `DOTNET_SDK` targets in order to compile for a specific architecture.
Fix generated solution files to account for the architecture override.

Issue: #23513
2025-09-29 12:25:01 -04:00
Brad King e0bbe79cea CMP0189: Restore support for linking $<TARGET_PROPERTY:tgt,LINK_LIBRARIES>
In general we disallow references to transitive target properties, such
as `COMPILE_DEFINITIONS`, in `[INTERFACE_]LINK_LIBRARIES` properties,
because the latter establish the transitivity itself.  Prior to CMP0189,
the `[INTERFACE_]LINK_LIBRARIES` properties were not themselves transitive
in `$<TARGET_PROPERTY>` expressions, so existing projects have code like

    target_link_libraries(foo PRIVATE "$<TARGET_PROPERTY:tgt,LINK_LIBRARIES>")

Policy CMP0189's NEW behavior, introduced by commit b3da9c6d60 (GenEx:
Evaluate LINK_LIBRARIES target properties transitively, 2025-02-24,
v4.1.0-rc1~731^2), makes `$<TARGET_PROPERTY:tgt,LINK_LIBRARIES>`
transitive, causing the above to be rejected.  Since evaluation of a
target's link libraries can already encounter and handle other targets'
link libraries, allow it in this case.

Fixes: #27265
2025-09-29 10:51:01 -04:00
Martin Duffy f6714b8949 instrumentation: Trigger PostGenerate hook after FileApi replies are written
Fixes: #27268
2025-09-29 09:43:53 -04:00
Brad King cca334aa26 Merge topic 'update-libarchive'
ff95dc7f44 libarchive: Set build options the way we need for CMake
3f00851b3e libarchive: Add missing cm3p prefixes on includes
4e5c2aadb1 libarchive: Rename cm_get_date wrapper to cm_parse_date
cf04a5cf27 Merge branch 'upstream-LibArchive' into update-libarchive
bb6def24fe LibArchive 2025-06-01 (9525f90c)
b2c42d8207 libarchive: Update script to get 3.8.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11258
2025-09-29 09:27:58 -04:00
Brad King 5291c17310 Merge topic 'instrumentation-load-null'
11f67d416a instrumentation: Use null when CPU load is unknown

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11248
2025-09-29 09:23:03 -04:00
Brad King e49de5d5d6 Merge topic 'fileapi-interface-and-imported-targets'
b626843d71 fileAPI: Output all INTERFACE and IMPORTED targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11232
2025-09-29 09:21:45 -04:00
Kitware Robot b630fdb0b2 CMake Nightly Date Stamp 2025-09-29 00:07:50 -04:00
Darryl Pogue e97fdf7d9a Xcode: Support new Icon Composer .icon resources
These are a new type of resource folder (treated as a file) similar to
xcassets, supported in Xcode 26 to provide application icons.
2025-09-28 01:45:56 -07:00
Kitware Robot 05a3f4a30d CMake Nightly Date Stamp 2025-09-28 00:04:54 -04:00
Kitware Robot a17bf203df CMake Nightly Date Stamp 2025-09-27 00:04:32 -04:00
Brad King cb69f750bf cmGeneratorTarget: Factor out helper to detect LINK_LIBRARIES evaluation 2025-09-26 17:41:41 -04:00
Brad King ff95dc7f44 libarchive: Set build options the way we need for CMake 2025-09-26 16:42:58 -04:00
Brad King 4e5c2aadb1 libarchive: Rename cm_get_date wrapper to cm_parse_date
libarchive 3.8.0 renamed `__archive_get_date` to `archive_parse_date`.
2025-09-26 16:40:12 -04:00
Martin Duffy e730008d7e instrumentation: Record build snippets regardless of hooks 2025-09-26 15:55:08 -04:00
Tyler Yankee 11f67d416a instrumentation: Use null when CPU load is unknown 2025-09-26 10:16:32 -04:00
Brad King 441b1ebe75 Merge topic 'patch-found-variables'
0fedf1592c Find*: Update *_FOUND variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11220
2025-09-26 09:58:27 -04:00
Brad King bd80d21c0c Merge topic 'instrumentation-trace-names'
6929baca2f instrumentation: Fix trace event names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11250
2025-09-26 09:37:06 -04:00
Brad King 48957f9e16 Merge topic 'instrumentation-more-snippet-data'
2fdd1e787f instrumentation: Additional data in custom, install and link snippets
3db07b0189 cmInstallScriptHandler: Refactor to store config and path for each command

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11241
2025-09-26 09:34:20 -04:00
Brad King fd20459601 Merge topic 'instrumentation-build-race'
67add75ad7 instrumentation: Load queries for postBuild hook after build is done
b7397f2f29 cmInstrumentation: Simplify test for .json file name suffix
67ed07af23 cmInstrumentation: De-duplicate query directory paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11252
2025-09-26 09:32:23 -04:00
Brad King 71443f8a6f Merge topic 'package-source-argument'
0696c9ac91 package_source: Remove redundant argument

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11246
2025-09-26 09:30:26 -04:00
Brad King 6e1de32c9d Merge topic 'pdb-postfix'
7a154bf4fd GenEx: Add POSTFIX option to $<TARGET_PDB_FILE_BASE_NAME>
5654207925 PDB: Always add the target per-config POSTFIX to .pdb names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11235
2025-09-26 09:26:49 -04:00
Craig Scott b626843d71 fileAPI: Output all INTERFACE and IMPORTED targets
Fixes: #27248
2025-09-26 22:01:45 +10:00
Kitware Robot 17450523c3 CMake Nightly Date Stamp 2025-09-26 00:04:54 -04:00
Brad King 67add75ad7 instrumentation: Load queries for postBuild hook after build is done
We launch a `ctest --wait-and-collect-instrumentation` daemon at the
beginning of a build to implement the `postBuild` hook.  It waits for
the build tool to terminate and then collects instrumentation data.
If the build re-runs `cmake`, the instrumentation `query/generated`
directory may be regenerated.  Previously the daemon loaded the
queries up front, but that races with regeneration during the build.
Delay loading queries until after the build finishes.

This was exposed by intermittent test failures since commit a249e820a8
(instrumentation: Add file lock for build daemon, 2025-08-05), which
added build-time regeneration of the build system to an instrumentation
test case.
2025-09-25 17:42:30 -04:00
Brad King b7397f2f29 cmInstrumentation: Simplify test for .json file name suffix 2025-09-25 17:37:41 -04:00
Brad King 67ed07af23 cmInstrumentation: De-duplicate query directory paths 2025-09-25 17:37:14 -04:00
Tyler Yankee 6929baca2f instrumentation: Fix trace event names
Amend commit 933176c2d1 (instrumentation: Rename install and custom
trace events, 2025-09-04) to remove the trailing colon for trace events
which have no name suffix.
2025-09-25 13:59:27 -04:00
Brad King 7366ebb007 Merge topic 'version-macros'
f1ce50dc81 cmVersionMacros: Adopt CMake_VERSION_DEVEL
c5a1675436 cmVersionMacros: Adopt CMake_VERSION_ENCODE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11244
2025-09-25 09:18:52 -04:00
Brad King a0f4d45c52 Merge topic 'cpack-nsis-crc-check'
3c7fee0d99 CPack/NSIS: Allow setting CRCCheck

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11242
2025-09-25 09:15:12 -04:00
Brad King 002c6c845b Merge topic 'fbuild_fix_relative_paths'
0e54dc9589 FASTBuild: fix relative paths to includes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11236
2025-09-25 09:05:03 -04:00
Brad King 0d1d6b0f63 Merge topic 'bootstrap-devirtualization'
ea04e19daf bootstrap: Fix compilation with gcc 16 devirtualization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11243
2025-09-25 09:00:41 -04:00
Brad King 7ef733450c Merge topic 'bootstrap-devirtualization' into release-4.1
ea04e19daf bootstrap: Fix compilation with gcc 16 devirtualization

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11243
2025-09-25 09:00:39 -04:00
Daniel Pfeifer 0696c9ac91 package_source: Remove redundant argument 2025-09-25 11:48:51 +02:00
Marc Chevrier 7a154bf4fd GenEx: Add POSTFIX option to $<TARGET_PDB_FILE_BASE_NAME>
Extend commit 0b055a8893 (GenEx: add POSTFIX option to
$<TARGET_FILE_BASE_NAME>, 2025-09-07) to cover PDB names too.
2025-09-25 11:02:44 +02:00
Marc Chevrier 5654207925 PDB: Always add the target per-config POSTFIX to .pdb names
Manage the POSTFIX target property in the same way as other artifacts
names.  Add policy CMP0202 for compatibility.

Fixes: #27206
2025-09-25 11:00:39 +02:00
Kitware Robot f98e6109c0 CMake Nightly Date Stamp 2025-09-25 00:05:16 -04:00
Brad King f1ce50dc81 cmVersionMacros: Adopt CMake_VERSION_DEVEL
Rename it from DEVEL_CMAKE_VERSION.  It requires version macros
not guaranteed to be available from its old header anyway.
2025-09-24 17:40:40 -04:00
Brad King c5a1675436 cmVersionMacros: Adopt CMake_VERSION_ENCODE 2025-09-24 17:36:05 -04:00