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
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
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
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.
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
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.
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.
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.
`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.
`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.
This allows particular frameworks to be targeted by
particular dependencies, and for empty dependency
groups to satisfy NuGet's framework-matching
requirements.