Commit Graph

66788 Commits

Author SHA1 Message Date
Brad King
262a89c92b Merge topic 'export-refactor-for-cps'
ff24058e46 export: Use std::all_of to collect exports
20fa4ce8d8 export: Factor out CMake-specific export generation (2/2)
6c66340a64 export: Fix const placement
1bceab3520 export: Factor out CMake-specific export generation (*/2)
a6cc595772 export: Factor out CMake-specific export generation (1/2)
0352376e44 export: Immediately report actual version required

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9646
2024-07-25 11:16:52 -04:00
Brad King
f60c49b9bd Merge topic 'test-labels'
fd3019380d Tests: Removed unused LABELS on CMake's own tests
8f6092fc20 Tests: Move ctest --print-labels case into RunCMake.CTestCommandLine

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9682
2024-07-25 11:11:47 -04:00
Kitware Robot
a38d6414f6 CMake Nightly Date Stamp 2024-07-25 00:01:34 -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
Brad King
70b4966c01 Merge topic 'refactor-lexer'
e947e7b6e2 cmListFileCache: use cmStrCat instead of string stream
55a4a585fa cmListFileParser: use unique_ptr to own cmListFileLexer instance
63f8134744 cmListFileCache: convert cmListFileParser from struct to class
1bf4900df7 cmListFileCache: avoid redundant operator<< calls
459c01d520 cmListFileCache: move cmListFileParser into an anonymous namespace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9680
2024-07-24 09:59:33 -04:00
Kitware Robot
74d322c2f1 CMake Nightly Date Stamp 2024-07-24 00:01:12 -04:00
Matthew Woehlke
ff24058e46 export: Use std::all_of to collect exports
Rewrite cmExport{Build,Install}FileGenerator::CollectExports to use
std::all_of as recommended by clang-tidy.
2024-07-23 12:13:39 -04:00
Matthew Woehlke
20fa4ce8d8 export: Factor out CMake-specific export generation (2/2)
In order to support generation of Common Package Specifications, the
mechanisms CMake uses to export package information need to be made more
abstract. The prior commits began this refactoring; this continues by
(actually) restructuring the classes used to generate the actual export files.
To minimize churn, this introduces virtual base classes and
diamond inheritance in order to separate logic which is format-agnostic
but depends on the export mode (build-tree versus install-tree) from
logic which is format-specific but mode-agnostic.

This could probably be refactored further to use helper classes instead,
and a future commit may do that, however an initial attempt to do that
was proving even more invasive, such that this approach was deemed more
manageable.

While we're at it, add 'const' in more places where possible.
2024-07-23 12:13:39 -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
Brad King
aff38fed4f ci: Add nightly jobs for LFortran on Fedora 2024-07-23 10:29:02 -04:00
Brad King
a0def56402 ci: Add lfortran to Fedora base image 2024-07-23 10:28:41 -04: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
Alex Turbov
e947e7b6e2 cmListFileCache: use cmStrCat instead of string stream 2024-07-23 10:11:27 -04:00
Alex Turbov
55a4a585fa cmListFileParser: use unique_ptr to own cmListFileLexer instance 2024-07-23 10:10:13 -04:00
Alex Turbov
63f8134744 cmListFileCache: convert cmListFileParser from struct to class 2024-07-23 10:09:21 -04:00
Alex Turbov
1bf4900df7 cmListFileCache: avoid redundant operator<< calls
Also, remove unneeded `clang-format off` comments.
2024-07-23 10:02:20 -04:00
Alex Turbov
459c01d520 cmListFileCache: move cmListFileParser into an anonymous namespace
Avoid the `cmListFileParser` methods intermixed with the `cmListFile`
methods.
2024-07-23 10:01:25 -04:00
Brad King
e27a050bff Merge topic 'linker-configuration'
1e35163ae8 WHOLE_ARCHIVE link feature: rely now on linker configuration
c1c4cf9545 Linker configuration: introduce a new architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9665
2024-07-23 09:56:25 -04:00
Brad King
7d9c4dfd0b Merge branch 'release-3.30' 2024-07-23 09:53:28 -04:00
Brad King
777d5d6a81 Merge topic 'ep-svn-user-pass'
7e80415e79 ExternalProject: Reduce number of local variables for svn logic
e16f65be15 ExternalProject: Don't add SVN auth args if not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9678
2024-07-23 09:53:28 -04:00
Brad King
aad3ee074b Merge topic 'ep-svn-user-pass' into release-3.30
e16f65be15 ExternalProject: Don't add SVN auth args if not set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9678
2024-07-23 09:53:27 -04:00
Brad King
8a833fbf9b Merge branch 'release-3.30' 2024-07-23 09:52:10 -04:00
Brad King
6ed2c348f2 Merge topic 'bootstrap-no-pkg-config'
35eb28bc76 bootstrap: Restore support for system jsoncpp and uv without pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !9679
2024-07-23 09:52:09 -04:00
Brad King
b55f5cba1d Merge topic 'bootstrap-no-pkg-config' into release-3.30
35eb28bc76 bootstrap: Restore support for system jsoncpp and uv without pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !9679
2024-07-23 09:52:08 -04:00
Brad King
da9d533fa7 Merge branch 'release-3.30' 2024-07-23 09:51:14 -04:00
Brad King
0d52257afa Merge topic 'cpack-external-partial-json'
ab26d334bf cmCPackExternalGenerator: ensure JSON is written before running the script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9669
2024-07-23 09:51:14 -04:00
Brad King
20efbc07df Merge topic 'cpack-external-partial-json' into release-3.30
ab26d334bf cmCPackExternalGenerator: ensure JSON is written before running the script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9669
2024-07-23 09:51:12 -04:00
Kitware Robot
b0a7a2dd9a CMake Nightly Date Stamp 2024-07-23 00:01:10 -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
Orkun Tokdemir
7d8d239574 GeneratorTarget: Factor out AddSystemIncludeCacheKey() 2024-07-22 17:03:20 +02:00
Marc Chevrier
1e35163ae8 WHOLE_ARCHIVE link feature: rely now on linker configuration
Fixes: #26019
2024-07-22 16:58:51 +02:00
ojab ojab
35eb28bc76 bootstrap: Restore support for system jsoncpp and uv without pkg-config
In commit da5de7f9f3 (bootstrap: Allow --boostrap-system-* libraries
custom prefixes, 2024-03-03, v3.30.0-rc1~456^2) the non-pkg-config code
path for uv/jsoncpp/rhash all set `use_librhash_ldflags` instead of
their own variable.
2024-07-22 10:33:50 -04:00
Brad King
0aea4e1d9e Merge branch 'release-3.30' 2024-07-22 10:20:21 -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
089e946399 Merge topic 'macos-check-archs' into release-3.30
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:04 -04:00
Brad King
671d8647ff Merge topic 'ci-linkcheck'
98c9674c5e FindPython: Replace link to PyPy with its http redirect

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9676
2024-07-22 10:18:46 -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
bb497152f0 Merge topic 'llpkgc-integration'
4b1b35bad3 Merge branch 'upstream-llpkgc' into llpkgc-integration
e2db237fb6 llpkgc 2024-07-18 (7958a1de)
ff79e60dd0 PkgC: Add update-llpkgc script

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9674
2024-07-22 10:14:16 -04:00
Kitware Robot
a9c5dec8d0 CMake Nightly Date Stamp 2024-07-22 00:03:17 -04:00
Craig Scott
bbfeb44747 Merge topic 'ep-unset-disconnected-vars'
cd379332c3 ExternalProject: Don't rely on *_disconnected vars being unset by caller

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9677
2024-07-21 06:29:24 -04:00
Kitware Robot
2f8c67d869 CMake Nightly Date Stamp 2024-07-21 00:01:16 -04:00
Marc Chevrier
c1c4cf9545 Linker configuration: introduce a new architecture
A new set of files are dedicated to linker configuration.
This set of files enable a fine-tuned configuration based of the linker
type as identified during compiler detection.

Fixes: #25360
2024-07-20 19:05:54 +02:00
Kitware Robot
587a3b41ba CMake Nightly Date Stamp 2024-07-20 00:01:37 -04:00
Craig Scott
cd379332c3 ExternalProject: Don't rely on *_disconnected vars being unset by caller 2024-07-20 12:30:50 +10:00