Commit Graph

34886 Commits

Author SHA1 Message Date
Kitware Robot e2601d8347 CMake Nightly Date Stamp 2023-11-20 00:01:44 -05:00
Brad King aea838cf41 Merge topic 'cpack-wix-installscope'
60661f6770 CPack/WiX: Make InstallScope configurable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8954
2023-11-19 11:55:30 -05:00
Brad King f33810b567 Merge topic 'uv-idle-ptr'
70d88a5361 cmUVHandlePtr: Add uv_idle_ptr
17690558c3 cmUVHandlePtr: Add explicit conversion to bool
cd2894a089 cmUVHandlePtr: Conversions to raw pointers are const

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8980
2023-11-19 11:50:16 -05:00
Brad King 21a7c1b86a Merge topic 'uv-signal-cleanup'
6ef03ca03e cmUVSignalHackRAII: Drop outdated and unused libuv SA_RESTART workaround

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8979
2023-11-19 11:48:57 -05:00
Brad King 1f7a653e90 Merge topic 'swift-compilation-mode'
0f80101b73 Tests: Update Swift tests to use CMP0157 NEW behavior
c1d787e473 Swift: Add abstraction for compilation mode
c39384f540 Tests: Simplify RunCMake.Swift conditions to enable use of Swift

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8918
2023-11-19 11:47:37 -05:00
Kitware Robot 67be468693 CMake Nightly Date Stamp 2023-11-19 00:01:08 -05:00
Kitware Robot ee3e050d23 CMake Nightly Date Stamp 2023-11-18 00:01:12 -05:00
Brad King 70d88a5361 cmUVHandlePtr: Add uv_idle_ptr
Wrap a `uv_idle_t` handle.
2023-11-17 08:51:25 -05:00
Brad King 17690558c3 cmUVHandlePtr: Add explicit conversion to bool 2023-11-17 08:50:53 -05:00
Brad King cd2894a089 cmUVHandlePtr: Conversions to raw pointers are const 2023-11-17 08:50:53 -05:00
Brad King 6ef03ca03e cmUVSignalHackRAII: Drop outdated and unused libuv SA_RESTART workaround
It is only needed for libuv < 1.19, but since commit c050d6a01e
(string(TIMESTAMP): add %f specifier for microseconds, 2022-01-27,
v3.23.0-rc1~59^2) we require libuv >= 1.28.
2023-11-17 08:49:21 -05:00
Evan Wilde c1d787e473 Swift: Add abstraction for compilation mode
Add a `CMAKE_Swift_COMPILATION_MODE` variable and corresponding
`Swift_COMPILATION_MODE` target property to control the compilation
mode.  Select among `wholemodule`, `singlefile`, and `incremental`.

Add policy CMP0157 to remove the default `-wmo` flags in favor of the
abstract setting.

Issue: #25366
2023-11-17 08:43:21 -05:00
Brad King 6f8532fbfa Merge topic 'autogen-rsp'
232610e60e Autogen: Use new API for limiting autogen command line lengths
7a07887055 Autogen: Add support for response files for moc predef targets
7eb5ab2c63 Autogen: Generalize MaybeWriteMocResponseFile to MaybeWriteResponseFile

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8944
2023-11-17 08:23:18 -05:00
Kitware Robot 1aa095c8ed CMake Nightly Date Stamp 2023-11-17 00:01:08 -05:00
Max Gaukler 60661f6770 CPack/WiX: Make InstallScope configurable
Add a new `CPACK_WIX_INSTALL_SCOPE` variable to set the `InstallScope`
when using the default WiX template.  Set the default to the bug-free
value `perMachine`.

Fixes: #20962
2023-11-16 14:15:38 -05:00
tophoo 232610e60e Autogen: Use new API for limiting autogen command line lengths 2023-11-16 16:29:29 +01:00
tophoo 7a07887055 Autogen: Add support for response files for moc predef targets
Add support for response files for moc predef targets and make the limit when
to use response files for autogen targets configurable.
2023-11-16 16:29:02 +01:00
Brad King 2c923a7e28 Merge topic 'install-export-xcframework'
37bc3400cd CMakePackageConfigHelpers: Add generate_apple_platform_selection_file()
256bb0cc40 install(EXPORT): Add ability to point to .xcframework file
a90968e044 cmExportBuildFileGenerator: Add structs for target exports

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !8969
2023-11-16 09:13:16 -05:00
Kitware Robot 572f3105c1 CMake Nightly Date Stamp 2023-11-16 00:01:10 -05:00
Kyle Edwards 256bb0cc40 install(EXPORT): Add ability to point to .xcframework file
Issue: #25262
2023-11-15 09:10:58 -05:00
Brad King 175988a37a Merge topic 'target-objects'
d7988ff6b8 Merge branch 'backport-target-objects' into target-objects
1814853081 cmCommonTargetGenerator: Drop unused local variable
377b78aef9 cmComputeLinkInformation: Simplify recording OBJECT libraries as link items
50fdaf8f1f cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
0e26bd334d cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8974
2023-11-15 08:44:40 -05:00
Kitware Robot 403374a81c CMake Nightly Date Stamp 2023-11-15 00:01:10 -05:00
Brad King d7988ff6b8 Merge branch 'backport-target-objects' into target-objects 2023-11-14 15:42:07 -05:00
Brad King 1814853081 cmCommonTargetGenerator: Drop unused local variable 2023-11-14 15:40:33 -05:00
Brad King 377b78aef9 cmComputeLinkInformation: Simplify recording OBJECT libraries as link items
Simplify commit 2c7acd34e2 (cmComputeLinkInformation: add `OBJECT`
libraries as link items, 2023-07-24, v3.28.0-rc1~279^2) using the
existing local variables.
2023-11-14 15:40:29 -05:00
Brad King 50fdaf8f1f cmComputeLinkInformation: Track targets named by TARGET_OBJECTS sources
Since commit b6a5382217 (Ninja: depend on language module information
files directly, 2023-02-10, v3.27.0-rc1~502^2), the return value of
`cmCommonTargetGenerator::GetLinkedTargetDirectories` must account for
linked object libraries because they may provide modules (#25112).
These were added by commit b665966933 (cmComputeLinkInformation: track
OBJECT library dependencies, 2023-07-22, v3.27.1~5^2).  However, targets
named by `$<TARGET_OBJECTS:...>` sources are also needed (#25365).

The latter were added by commit 22da18b995 (Fortran: Restore support for
TARGET_OBJECTS providing modules, 2023-10-27, v3.28.0-rc4~9^2) and
commit 035302b7e3 (cmComputeLinkDepends: also copy the target from
object link items, 2023-10-27, v3.28.0-rc4~9^2~2).  However, their
approach added link entries not actually specified by projects.  It also
incorrectly re-used `cmComputeLinkDepends::AddLinkObject` for object
library targets when it is meant for their individual object files.
These problems caused additional regressions (#25417).  Revert the
implementation parts of those commits and leave behind an assertion and
comment to help avoid the mistake in the future.  Instead, track targets
named by `$<TARGET_OBJECTS:...>` sources with a dedicated member.

Issue: #25112
Issue: #25365
Fixes: #25417
Co-authored-by: Ben Boeckel <ben.boeckel@kitware.com>
2023-11-14 14:50:08 -05:00
tophoo 7eb5ab2c63 Autogen: Generalize MaybeWriteMocResponseFile to MaybeWriteResponseFile 2023-11-14 20:08:48 +01:00
Brad King 0e26bd334d cmCommonTargetGenerator: Factor out GetLinkedTargetDirectories loop body
Re-use the body in multiple loops instead of allocating to combine them.
2023-11-14 13:50:13 -05:00
Kyle Edwards a90968e044 cmExportBuildFileGenerator: Add structs for target exports 2023-11-14 09:22:53 -05:00
Brad King f22ecbacb6 Merge topic 'export-find_dependency-calls'
0ad8fc5a63 FetchContent: Set CMAKE_EXPORT_FIND_PACKAGE_NAME
c6e6861e63 install(EXPORT): Export find_dependency() calls
2837f592ab cmExportFileGenerator: Add function to set required CMake version
e62a3b8625 Help/export: Add signature directives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Brad King <brad.king@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !8957
2023-11-14 09:22:13 -05:00
Brad King 380b324103 Merge topic 'sources-per-config'
16c5977504 Fix per-config sources in multi-config generators when first config adds none

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8971
2023-11-14 09:09:15 -05:00
Brad King 7b2f771077 Merge topic 'genex-fix-short-circuit'
27244a8f73 cmGeneratorExpressionNode: Fix short-circuit logic

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8966
2023-11-14 09:07:11 -05:00
Kitware Robot 32342fa728 CMake Nightly Date Stamp 2023-11-14 00:01:07 -05:00
Brad King 16c5977504 Fix per-config sources in multi-config generators when first config adds none
Since commit b1c3ae33ea (cmTarget: Short-circuit language computation if
context independent., 2014-04-09, v3.1.0-rc1~669^2~1) we've tried to
avoid repeating computation of the list of sources for a target for
every configuration in the case that a per-config source (or object
library) contributes zero sources.  However, it is possible that an
entry contributes zero sources in the first configuration processed but
at least one source in other configurations.

Fixes: #25400
2023-11-13 14:00:12 -05:00
Martin Duffy 27244a8f73 cmGeneratorExpressionNode: Fix short-circuit logic
Fix logic added by commit 634079b86d (cmGeneratorExpressionEvaluator:
Short-circuit boolean operators, 2023-09-11, v3.28.0-rc1~47^2) and
add missing test cases.

Fixes: #25412
2023-11-13 11:11:18 -05:00
Kyle Edwards c6e6861e63 install(EXPORT): Export find_dependency() calls
Issue: #20511
Co-Authored-by: Brad King <brad.king@kitware.com>
Co-Authored-by: Robert Maynard <rmaynard@nvidia.com>
2023-11-13 11:07:52 -05:00
Kyle Edwards 2837f592ab cmExportFileGenerator: Add function to set required CMake version 2023-11-13 11:07:52 -05:00
Brad King 5e79703f93 Merge topic 'make-test-depend-on-all'
5e0c1777a3 Optionally make `test` target depend on `all`
eaa00d4dfa Tests: Add case to verify that 'make test' does not 'make all'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !8956
2023-11-13 09:53:04 -05:00
Brad King af2fb376a4 Merge topic 'link-deduplicate-libs'
7b99c42e57 Link step: Enable to configure deduplication of libraries
07501c1678 Link Step: Introduce EntriesProcessing class

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8946
2023-11-13 09:51:51 -05:00
Kitware Robot 1af14eda2d CMake Nightly Date Stamp 2023-11-13 00:01:29 -05:00
Kitware Robot a0f7d3b864 CMake Nightly Date Stamp 2023-11-12 00:01:09 -05:00
Kitware Robot 33d372ceca CMake Nightly Date Stamp 2023-11-11 00:01:07 -05:00
William Sciaroni 5e0c1777a3 Optionally make test target depend on all
Fixes: #8774
2023-11-10 13:19:11 -05:00
Brad King 7e8b689532 Merge topic 'ctest-remove-binary-dir-error'
07edab8ef2 ctest_empty_binary_directory: Report more detail in failure message

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8959
2023-11-10 09:58:25 -05:00
Brad King f421f02c10 Merge topic 'cmtargetexport-iwyu'
c2974463d7 cmTargetExport: Analyze with IWYU

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8961
2023-11-10 09:57:36 -05:00
Kitware Robot c09232c27d CMake Nightly Date Stamp 2023-11-10 00:01:08 -05:00
Marc Chevrier 7b99c42e57 Link step: Enable to configure deduplication of libraries
Some platforms, Apple or Windows for instance, do not require to duplicate
static libraries to resolve mutual dependencies. Moreover, Xcode version 15
emits a warning if a library is duplicated.
On Windows, enable a better control of libraries order.

Fixes: #20722, #25297
2023-11-09 19:20:40 +01:00
Kyle Edwards c2974463d7 cmTargetExport: Analyze with IWYU
Since there is no cmTargetExport.cxx, cmTargetExport.h was not
being analyzed by IWYU. Associate cmTargetExport.h with
cmExportSet.cxx.
2023-11-09 10:49:50 -05:00
Brad King 07edab8ef2 ctest_empty_binary_directory: Report more detail in failure message 2023-11-09 09:11:55 -05:00
Kitware Robot 1cd9ebe4a6 CMake Nightly Date Stamp 2023-11-09 00:01:09 -05:00