Commit Graph

11513 Commits

Author SHA1 Message Date
Kyle Edwards
f8264cf2ff find_package(): Debug re-rooting behavior
find_package()'s debug mode provides information about which
prefixes are searched, but not which roots are prepended to each
prefix. Display this information if debugging is enabled.
2024-08-02 16:18:44 -04:00
Brad King
618c60367f Merge topic 'swift-install-names'
8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9692
2024-08-02 09:47:51 -04:00
Evan Wilde
8669176576 Swift: Fix INSTALL_NAME_DIR under CMP0157 NEW behavior
Setting `CMAKE_INSTALL_NAME_DIR` or the `INSTALL_NAME_DIR` on Swift
targets had no effect when CMP0157 was set to `NEW`.  This was a result
of missing the `<TARGET_INSTALLNAME_DIR>` before the `<TARGET_SONAME>`.
Fix that and add a test to verify that the install name directory is
included in the install name.

Fixes: #26175
2024-08-01 10:49:36 -04:00
Brad King
98c9e67a8d Merge topic 'presets-graphviz'
31c0e0de49 presets: Add graphviz support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9691
2024-08-01 10:44:41 -04:00
Brad King
fd72e2b857 Merge topic 'test-xcode-command-line-tools'
369052b5d8 Tests: Restore suppression of xcodebuild error with Xcode Command-Line Tools

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9696
2024-08-01 09:58:10 -04:00
Brad King
369052b5d8 Tests: Restore suppression of xcodebuild error with Xcode Command-Line Tools
In commit 40fa2c1c90 (Tests: Cleanup CMake_TEST_XCODE_VERSION code,
2024-04-29, v3.30.0-rc1~183^2) we accidentally stopped capturing the
stderr from `xcodebuild`, causing it to appear in cmake's output.
The error is incidental and tolerated, so do not let the user see it.
2024-07-31 15:43:04 -04:00
Aliaksandr Averchanka
31c0e0de49 presets: Add graphviz support
Closes: #22164
2024-07-30 10:27:03 -04:00
Vito Gamberini
8555c33d92 PkgC: Add cmake_pkg_config(EXTRACT) command
* Wraps the llpkgc parser with cmPkgConfigParser
* Adds various resolution and mangling code under cmPkgConfigResolver
* Documents new command cmake_pkg_config(EXTRACT). Documentation is written with
  the assumption additional subcommands will be added soon.
* Adds various tests for the above
2024-07-29 13:14:46 -04:00
Brad King
cdca6814a5 Merge topic 'backport-test-curl-output' into release-3.30
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:28:46 -04:00
Brad King
5f38057728 Merge topic 'backport-test-curl-output' into release-3.29
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9690
2024-07-29 11:12:33 -04:00
Brad King
13fb20f4d3 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9 2024-07-29 11:07:05 -04:00
Brad King
26302e120e Merge topic 'install-parallel-manifest'
9799491c7e install: Write manifest file in parallel install

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9673
2024-07-26 10:00:36 -04:00
Brad King
f967fff3f4 Merge topic 'update-curl'
080d876a79 Utilities: Update hard-coded try_compile results for curl 8.9.0
c1a62dd104 curl: Set build options the way we need for CMake
54c5367320 Merge branch 'upstream-curl' into update-curl
8defd39611 curl 2024-07-24 (5040f7e9)
60bd6acfbf curl: Update script to get curl 8.9.0
7bfe120c07 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9683
2024-07-26 09:58:07 -04:00
Martin Duffy
9799491c7e install: Write manifest file in parallel install
Updates the parallel install to generate the install_manifest.txt file.
2024-07-25 12:36:32 -04:00
Brad King
7bfe120c07 Tests/RunCMake/file-DOWNLOAD: Update bad host name message for curl 8.9 2024-07-25 11:03:31 -04:00
Brad King
fd3019380d Tests: Removed unused LABELS on CMake's own tests
In commit 44ad3f0b7f (ctest: Support multiple -L and -LE options to mean
"AND", 2021-03-20, v3.21.0-rc1~424^2) we added several labels to CMake's
own tests, perhaps as a way to demonstrate the change made by the
commit.  However, they have not been maintained or added to other tests
they cover.  Since commit 49e9f817de (ctest: Display test labels in
failure summary, 2024-06-14) the labels are displayed next to failed
test names, making them more visible.  Remove these unnecessary labels.
2024-07-24 10:07:35 -04:00
Brad King
8f6092fc20 Tests: Move ctest --print-labels case into RunCMake.CTestCommandLine 2024-07-24 10:07:35 -04:00
Brad King
53de9d9943 Merge topic 'system-include-cache'
fb978f001d GeneratorTarget: Fix missing system include cache key
7d8d239574 GeneratorTarget: Factor out AddSystemIncludeCacheKey()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9681
2024-07-24 10:05:43 -04:00
Brad King
4c35a71ae9 Merge topic 'lfortran'
aff38fed4f ci: Add nightly jobs for LFortran on Fedora
a0def56402 ci: Add lfortran to Fedora base image
98d0f918ba LFortran: Add support for this compiler
c6f81bdacf Tests/RunCMake: Pass Fortran compiler id into more tests
fa1b748389 Tests/RunCMake/DependencyGraph: Specify Fortran function return type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Matthew Thompson <fortran@gmail.com>
Merge-request: !9188
2024-07-24 10:02:54 -04:00
Brad King
077691942a Merge topic 'cmake-list-cached-variables'
c55239e286 cmake: Add flag to list cache entries matching a regex

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9644
2024-07-24 10:00:30 -04:00
Orkun Tokdemir
fb978f001d GeneratorTarget: Fix missing system include cache key
When 033dc7ee2f introduced
`AddSystemIncludeDirectory()`, the function was not handling the
situation which a system include cache key is not added properly like
in `IsSystemIncludeDirectory()`. The error was not exposed when
`AUTOMOC` is `ON` and  `AUTOUIC` is `ON` because
`GetIncludeDirectoriesImplicit()` inside `initMoc()` was triggering
`IsSystemIncludeDirectory()`.

This commit adds calling
`AddSystemIncludeCacheKey()` inside `AddSystemIncludeDirectory()`
when the system include cache key is not added before.

Fixes: #26146
2024-07-23 16:58:43 +02:00
Min Hsu
c55239e286 cmake: Add flag to list cache entries matching a regex
Add a `-LR[A][H] <regex>` flag with similar functionality to `-L[A][H]`,
but instead of listing all cached variables, it show only specific
variables that match the name regex.
2024-07-23 10:19:22 -04:00
Christoph Junghans
98d0f918ba LFortran: Add support for this compiler
Fixes: #25419
2024-07-22 16:50:33 -04:00
Brad King
c6f81bdacf Tests/RunCMake: Pass Fortran compiler id into more tests 2024-07-22 15:55:42 -04:00
Brad King
fa1b748389 Tests/RunCMake/DependencyGraph: Specify Fortran function return type 2024-07-22 15:54:19 -04:00
Brad King
67b84e6bc4 Merge topic 'macos-check-archs'
74beb6dba8 Xcode: Restore support for CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Lorenz Bucher <lorenz.bucher@gmail.com>
Merge-request: !9675
2024-07-22 10:20:21 -04:00
Brad King
f36d09a0b8 Merge topic 'cpack-wix-per-machine'
d588e81ffb CPack/WIX: Generate perMachine installers by default

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9672
2024-07-22 10:17:57 -04:00
Brad King
a444929cf4 Merge topic 'autogen-ui-rebuild'
5363bebc1e Autogen: Fix compilation of unchanged source files
68ea116380 Autogen: Fix autogen test separation bugs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9660
2024-07-19 10:01:43 -04:00
Brad King
4e867bab6c Merge topic 'ctest-failure-summary-labels'
49e9f817de ctest: Display test labels in failure summary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9652
2024-07-19 09:56:58 -04:00
Brad King
a8d8f26828 Merge topic 'aix-archive-shared-libraries'
d27fe9dfba AIX: Add option to archive shared libraries
98013ad1ca cmXCOFF: Add support for editing binary inside an archive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9606
2024-07-19 09:55:58 -04:00
Brad King
74beb6dba8 Xcode: Restore support for CMAKE_OSX_ARCHITECTURES=$(ARCHS_STANDARD)
Skip the `CMAKE_OSX_ARCHITECTURES` validation added by commit db409e5e68
(APPLE: Check if compilers respect CMAKE_OSX_ARCHITECTURES, 2024-05-04,
v3.30.0-rc1~15^2) if the value contains a placeholder, since we do not
know the real value.

Fixes: #26128
2024-07-19 09:42:45 -04:00
Brad King
d588e81ffb CPack/WIX: Generate perMachine installers by default
Add policy CMP0172 to set `CPACK_WIX_INSTALL_SCOPE` to `perMachine` by
default.  Follow up commit 60661f6770 (CPack/WiX: Make InstallScope
configurable, 2023-11-07, v3.29.0-rc1~413^2) and commit 614100dbf6
(CPack/WiX: Restore default (missing) InstallScope from 3.28 and lower,
2024-06-05, v3.30.0-rc1~7^2~1).

Issue: #20962
Issue: #26029
2024-07-18 14:16:54 -04:00
Brad King
de8e176113 Merge topic 'parallel-install'
159ba027b9 Install: Add parallel installation option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9611
2024-07-18 09:04:47 -04:00
Brad King
89dc9a6c41 Merge topic 'ninja-custom-target-build-event-dollar'
c3c14f04f2 Ninja: Fix build event commands with $-sign on custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9662
2024-07-18 09:00:30 -04:00
Brad King
4221d6b220 Merge topic 'implicit-link-static'
b3c9b317ff CMakeParseImplicitLinkInfo: Honor gfortran -static-libquadmath flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9664
2024-07-18 08:59:13 -04:00
Wim Colgate
49e9f817de ctest: Display test labels in failure summary
In a complex test environment, there may be a desire to add a test
property label to indicate context. Here is one such example:

    set_property(TEST mygoofytest PROPERTY LABELS might-fail-on-config-change)

Upon looking at the failed test summary, one can quickly decide whether
the failure might be expected or not.

    198 - mygoofytest (Failed)                might-fail-on-config-change
2024-07-17 13:56:01 -04:00
Orkun Tokdemir
5363bebc1e Autogen: Fix compilation of unchanged source files
Since generated `ui` headers are added as byproducts of the autogen
target, it causes to compilation of unchanged files.

This commits adds generated `ui` headers to byproducts of the
timestamp target instead of the autogen target's.

Fixes: #25436
Fixes: #26135
2024-07-17 18:12:04 +02:00
Orkun Tokdemir
68ea116380 Autogen: Fix autogen test separation bugs
When 6ee5c431 is merged, `autogen_test_number`
is put into the wrong scope. The problem is that RunCmake.Autogen_Qt5_X
tests are created only Qt6 prefix is provided. This commit moves it to
the upper scope.

Fix Xcode specific bug where `foreach(exe IN ITEMS Moc Uic Rcc)` should
be removed.
2024-07-17 18:12:04 +02:00
Aditya Vidyadhar Kamath
d27fe9dfba AIX: Add option to archive shared libraries
Add option `CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`.

There will no versions for the shared objects when this option is used.

Closes: #26033
2024-07-17 11:52:09 -04:00
Dávid Péter Jánosa
c3c14f04f2 Ninja: Fix build event commands with $-sign on custom targets
Fixes: #26143
2024-07-17 09:27:35 -04:00
Brad King
b3c9b317ff CMakeParseImplicitLinkInfo: Honor gfortran -static-libquadmath flag
Extend commit 1d7fddca8e (CMakeParseImplicitLinkInfo: Honor GNU static
runtime library flags, 2021-06-02, v3.21.0-rc1~85^2) to cover the
`quadmath` library.
2024-07-16 16:42:18 -04:00
Martin Duffy
159ba027b9 Install: Add parallel installation option
Fixes: #26000
2024-07-15 11:49:29 -04:00
Orkun Tokdemir
9ffac91e37 Autogen: Revert "Add timestamp file for CMAKE_GLOBAL_AUTORCC_TARGET"
In the commit 8d99e71b, a new timestamp file was added to prevent
unneeded `AUTORCC` triggering after successful builds when
`CMAKE_GLOBAL_AUTORCC_TARGET` is ON. This caused a regression that
configuration fails when multiple `.qrc` files are added to a target.
This commits reverts 8d99e71b.

Issue: #26059
Fixes: #26126
2024-07-10 15:22:02 +02:00
Brad King
ead3548bed Merge topic 'xdg-config-dir'
5b3fbd5f64 cmSystemTools: Add CMake config directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9615
2024-07-08 11:23:33 -04:00
Brad King
639346f319 Merge topic 'ios-mac-catalyst'
2785364b7b iOS: Add support for Mac Catalyst

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9595
2024-07-08 11:13:09 -04:00
Brad King
d3088a8eea Merge topic 'vs-dotnet-sdk-custom-command'
c7e5ebd0a8 VS: Support add_custom_command in .Net SDK-style projects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9616
2024-07-08 10:17:28 -04:00
Kyle Edwards
e24af20340 Merge topic 'TRANSITIVE_LINK_PROPERTIES_isnt_usage'
2fc9e482a9 Evaluation of TRANSITIVE_LINK_PROPERTIES isn't considered a usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9643
2024-07-08 10:04:24 -04:00
Kyle Edwards
b9e2f6828f Merge topic 'TRANSITIVE_LINK_PROPERTIES_isnt_usage' into release-3.30
2fc9e482a9 Evaluation of TRANSITIVE_LINK_PROPERTIES isn't considered a usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9643
2024-07-08 10:04:22 -04:00
Robert Maynard
2fc9e482a9 Evaluation of TRANSITIVE_LINK_PROPERTIES isn't considered a usage
Fixes #26108
2024-07-05 13:16:47 -04:00
Brad King
9c330283d6 Merge topic 'cmArgumentParser-Derived-Classes'
5fc2bad167 cmArgumentParser: Support binding with derived classes
e0f9d81f09 STL: extend type_traits to deal with member pointers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9634
2024-07-04 10:10:07 -04:00