Commit Graph

11454 Commits

Author SHA1 Message Date
Brad King
9ee9571b2e Merge topic 'vs-framework-references'
0721f9bf0f VS: Add VS_FRAMEWORK_REFERENCES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9626
2024-06-27 11:22:43 -04:00
Brad King
e053d6f81b Merge topic 'orkun_26059_24_06_2024'
8d99e71b7e Autogen: Add timestamp file for CMAKE_GLOBAL_AUTORCC_TARGET
003830f14f Autogen: Remove redundant push_back

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9628
2024-06-27 11:20:49 -04:00
Brad King
764c8c9036 Merge topic 'test-autogen-nmc'
8a68ad5233 Autogen: Filter out QtDeployTargets from Ninja Multi-Config tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9627
2024-06-27 11:11:05 -04:00
Calum Robinson
0721f9bf0f VS: Add VS_FRAMEWORK_REFERENCES
Fixes: #26082
2024-06-26 16:44:51 +01:00
Orkun Tokdemir
8d99e71b7e Autogen: Add timestamp file for CMAKE_GLOBAL_AUTORCC_TARGET
When `CMAKE_GLOBAL_AUTORCC_TARGET` is ON and qrc files are not
generated, `<target_name>_arcc_data` is always dirty. So this commit
adds a timestamp file which depens on what `<target_name>_arcc_data`
depends before and ``<target_name>_arcc_data` depends the timestamp
file.

The dependency graph before
(qrcFile, InfoFile) -> _arcc_target

The dependency graph after
(qrcFile, InfoFile) -> global_rcc_timestamp ->_arcc_target

Fixes: #26059
2024-06-26 15:37:41 +02:00
Brad King
033713530a Merge topic 'file-rpath-elf-static'
02f3e5be6a file(RPATH_CHANGE ...): no-op for static binary
ccbbf64552 Tests/RunCMake/file-RPATH: Prepare to cover statically linked binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9623
2024-06-26 08:46:21 -04:00
Brad King
f879d3a33f Merge topic 'preset-comments'
7d2cc6ece6 presets: Allow comments in presets files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9608
2024-06-26 08:45:17 -04:00
Brad King
a20377e41a Merge topic 'cpack-debian-multiarch'
71c631c435 CPack/DEB: Add Multi-Arch support
55524c48a4 CPack/DEB: Add Multi-Arch support
a022705a2e Tests/RunCMake/CPack: Improve README

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9609
2024-06-26 08:44:02 -04:00
Brad King
0ffdd6b50f Merge topic 'orkun_refactor_autogen_tests_21_06_2024'
6ee5c431d5 Autogen: Separate RunCMake.AutogenQtX tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !9620
2024-06-26 08:41:02 -04:00
Brad King
1736e37740 Merge topic 'issue-26041-filemakedirectory-result-optional-argument'
95323c90a1 file(MAKE_DIRECTORY): Add optional RESULT keyword to capture failure.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9604
2024-06-26 08:39:31 -04:00
Orkun Tokdemir
8a68ad5233 Autogen: Filter out QtDeployTargets from Ninja Multi-Config tests
Since https://codereview.qt-project.org/c/qt/qtbase/+/518683 adds
generation of `.qt/QtDeployTargets-$<CONFIG>.cmake`, those files should
be filtered out from the `Ninja Multi-Config` tests.
2024-06-26 14:04:46 +02:00
Aliaksandr Averchanka
7d2cc6ece6 presets: Allow comments in presets files
Co-authored-by: Kanaiym <abdigak@clarkson.edu>
Fixes: #22791
2024-06-24 15:42:46 -04:00
Harmen Stoppels
02f3e5be6a file(RPATH_CHANGE ...): no-op for static binary
Setting `CMAKE_INSTALL_RPATH` on a project that contains statically
linked executables breaks the install step, since rpaths cannot be
changed.

This commit makes rpath adjustments not an error on static libraries.

Fixes #26078
2024-06-24 11:32:30 -04:00
Harmen Stoppels
ccbbf64552 Tests/RunCMake/file-RPATH: Prepare to cover statically linked binaries 2024-06-24 11:32:20 -04:00
Brad King
d395fb38e5 Merge topic 'apple-framework-bundle-name'
8a06f173d9 Apple: Add CFBundleName to framework Info.plist files
7c1a18655b Tests/RunCMake/Framework: Improve failure messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Jason Juang <jasjuang@gmail.com>
Merge-request: !9610
2024-06-24 09:28:44 -04:00
Brad King
4cc832f797 Merge topic 'link-feature-attributes-stabilization'
576567f028 Link feature attributes: stabilization
5617c34c31 Libraries processing: update configuration wording

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9607
2024-06-24 09:22:48 -04:00
Brad King
bf6f534451 Merge topic 'nmc-config-list'
b1a804d616 Ninja Multi-Config: Fix crash if config list is changed in subdirectory
9f8afacb3e cmGlobalNinjaGenerator: Reuse local generator caching of config list
48b911e3e5 cmGlobalNinjaGenerator: Factor out helper for global config list lookup
e2c6a54b07 cmGlobalNinjaGenerator: De-duplicate CMAKE_CONFIGURATION_TYPES lookup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9618
2024-06-24 09:21:14 -04:00
Orkun Tokdemir
6ee5c431d5 Autogen: Separate RunCMake.AutogenQtX tests
The RunCMake.AutogenQtX tests occasionally time out so separate
`RunCMake.AutogenQtX` tests.

Example: https://open.cdash.org/tests/1583599782
2024-06-24 15:00:51 +02:00
Robert Schuster
71c631c435 CPack/DEB: Add Multi-Arch support
Fix tests

Fixes: #21445
2024-06-24 09:33:37 +02:00
Asit Dhal
95323c90a1 file(MAKE_DIRECTORY): Add optional RESULT keyword to capture failure.
Fixes: #26041
2024-06-24 02:20:43 +02:00
Robert Schuster
55524c48a4 CPack/DEB: Add Multi-Arch support
Add support for Multi-Arch in control files of Debian packages.
Valid values: same, foreign, allowed

Fixes: #21445
2024-06-21 12:27:50 -04:00
Robert Schuster
a022705a2e Tests/RunCMake/CPack: Improve README
Add hints for newbies.  Fix typos.
2024-06-21 12:24:56 -04:00
Brad King
b1a804d616 Ninja Multi-Config: Fix crash if config list is changed in subdirectory
Look up the value of `CMAKE_CONFIGURATION_TYPES` only in the top level
directory.

Fixes: #26064
2024-06-21 12:21:36 -04:00
Brad King
d13afe720a Merge topic 'masm-static-lib'
faadb86474 ASM_MASM: Add support for masm-only static libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9612
2024-06-21 10:42:10 -04:00
Marc Chevrier
576567f028 Link feature attributes: stabilization
* enhance OVERRIDE handling
* Update wording
2024-06-21 11:18:20 +02:00
Marc Chevrier
5617c34c31 Libraries processing: update configuration wording 2024-06-21 11:18:12 +02:00
Brad King
8a06f173d9 Apple: Add CFBundleName to framework Info.plist files
Fixes: #26046
2024-06-20 10:33:07 -04:00
Jeremy Koritzinsky
faadb86474 ASM_MASM: Add support for masm-only static libraries
Set correct command to create a static library for Microsoft assembly
dialects.

Fixes: #18889
2024-06-20 10:14:59 -04:00
Brad King
7c1a18655b Tests/RunCMake/Framework: Improve failure messages 2024-06-18 11:52:11 -04:00
Brad King
b7ba0400f4 Merge topic 'xcode-16'
b243c19986 Tests: Update expected results for Xcode 16

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9596
2024-06-14 09:23:30 -04:00
Brad King
b243c19986 Tests: Update expected results for Xcode 16
In `Tests/RunCMake/LinkerSelection`, Xcode 16 warns when building the
AppleClassic case:

    ld: warning: -ld_classic is deprecated and will be removed
                 in a future release

Tolerate all build warnings.
2024-06-13 09:16:34 -04:00
Brad King
024d503f4c Merge topic 'fc-cmp0168-fresh'
9299cbbdb4 FetchContent: Force cmake --fresh to re-execute direct population steps
e82e2c38c1 Tests: RunCMake.FetchContent should not always force _deps removal
f97b25ec4b Tests: Fix -direct variants of FetchContent tests using wrong files
11b684c449 FetchContent: Fix typos in stamp/step file names
a02eec4a9f FetchContent,ExternalProject: Fix extra semicolons in step commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9589
2024-06-10 11:50:41 -04:00
Craig Scott
9299cbbdb4 FetchContent: Force cmake --fresh to re-execute direct population steps
Issue: #25468
2024-06-07 18:12:12 +10:00
Craig Scott
e82e2c38c1 Tests: RunCMake.FetchContent should not always force _deps removal
To properly test some functionality, tests may rely on not clearing
things like time stamps between cmake invocations. The RunCMake
infrastructure clears the build directory by default anyway, and
tests may individually ask for that to be disabled where needed.

The line being removed here was originally added to assist with
manually re-running individual tests locally outside the control of
RunCMake. That is no longer appropriate.
2024-06-07 17:58:55 +10:00
Craig Scott
f97b25ec4b Tests: Fix -direct variants of FetchContent tests using wrong files
The -direct variants of the RunCMake.FetchContent tests were
meant to be using the same result, stdout and stderr files as the
non-direct tests. The -direct tests were specified in the wrong way
for that and ended up using no files at all, so they weren't testing
the full set of expected conditions. Use the test variant feature
provided by the RunCMake infrastructure instead, which is the
proper way to handle this sort of scenario.
2024-06-07 17:58:55 +10:00
Brad King
89ec09e840 Merge topic 'doc-testing'
8a688e556e Help/dev: Add a CMake Testing Guide
7cc124d4b5 Help/dev: Move integration testing to a more-specific document
d9ab1fb5da Help/dev: Fix formatting in CMake Documentation Guide
aa3fffa4bb README: Drop outdated link on running CMake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Juan Ramos <juan.ramos@kitware.com>
Merge-request: !9576
2024-06-06 08:45:18 -04:00
Brad King
4394464501 Add deprecation warnings for policies CMP0129 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.23 and below to encourage projects to port
away from setting policies to OLD.
2024-06-05 13:19:07 -04:00
Brad King
2eb4382d6b Tests: Modernize RunCMake.CMP0129 test conventions and conditions 2024-06-05 13:16:36 -04:00
Brad King
8a688e556e Help/dev: Add a CMake Testing Guide
Document how developers working on CMake itself may run the test suite
locally.

Fixes: #26001
2024-06-05 12:58:47 -04:00
Brad King
a67bb7f488 Merge topic 'FindPython-free-threaded-python'
9a0dee7257 FindPython: Add support for free threaded python
4178ab928f FindPython: Fix spelling error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9578
2024-06-05 09:34:03 -04:00
Brad King
0a219e4058 Merge topic 'FindMatlab-test-versions_checks'
bda14d99f5 Tests: Fix FindMatlab.versions_checks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9583
2024-06-05 09:25:56 -04:00
Silvio Traversaro
bda14d99f5 Tests: Fix FindMatlab.versions_checks
`matlab_get_release_name_from_version("14.10" release_name)` does not
write the `release_name` variable if the `14.10` is not a known version,
so before checking for the variable to be empty, we should set it to an
empty value.
2024-06-04 14:02:09 -04:00
Silvio Traversaro
e265065ed6 Tests: Fix FindMatlab.no_implicit_link_checks
`matlab_add_mex` uses the plain signature of `target_link_libraries`,
so we need to use the plain signature also outside of `matlab_add_mex`
to avoid a configuration error.
2024-06-04 14:01:23 -04:00
Marc Chevrier
9a0dee7257 FindPython: Add support for free threaded python
Fixes: #26016
2024-06-04 18:14:35 +02:00
Marc Chevrier
4178ab928f FindPython: Fix spelling error 2024-06-04 16:12:55 +02:00
Brad King
57c6dd277e Merge topic 'cpack-nuget-dependency-groups'
0f4d3664a9 CPack/NuGet: Build dependencies in groups

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9544
2024-06-04 08:59:28 -04:00
Alex Opie
0f4d3664a9 CPack/NuGet: Build dependencies in groups
This allows particular frameworks to be targeted by
particular dependencies, and for empty dependency
groups to satisfy NuGet's framework-matching
requirements.
2024-06-03 11:28:49 -04:00
Brad King
1df18d5e54 Merge topic 'cmake-C-crash'
7330121467 Fix crash in target-specific commands called from initial cache script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9571
2024-06-03 09:10:52 -04:00
Brad King
d1cf2a2206 Merge topic 'file-accept-empty-lists'
7c516f7e28 file(): TOUCH, TOUCH_NOCREATE and MAKE_DIRECTORY accept empty lists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9570
2024-06-03 09:08:52 -04:00
Brad King
640a167d03 Merge topic 'ep-disable-source-changes'
0cc1b550dd ExternalProject,FetchContent: Avoid CMAKE_DISABLE_SOURCE_CHANGES error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9569
2024-06-03 09:07:46 -04:00