Commit Graph

35950 Commits

Author SHA1 Message Date
Kitware Robot 3c7c0f2fc6 CMake Nightly Date Stamp 2024-08-02 00:01:14 -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
Kitware Robot bd8dc7775b CMake Nightly Date Stamp 2024-08-01 00:01:17 -04:00
Kitware Robot a82af7aae1 CMake Nightly Date Stamp 2024-07-31 00:01:12 -04:00
Aliaksandr Averchanka 31c0e0de49 presets: Add graphviz support
Closes: #22164
2024-07-30 10:27:03 -04:00
Brad King 2903eb1963 Merge topic 'export-refactor-more-for-cps'
8178fd43e9 export: Fix handling of import prefix
e5b73b60e3 export: Generalize GenerateImportFileConfig
cd217739f7 export: Refactor obtaining export information

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9684
2024-07-30 10:21:52 -04:00
Brad King 40214f0def Merge topic 'clean-proto'
61ce6a6eeb Source: Delete unused prototypes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9689
2024-07-30 10:13:59 -04:00
Brad King ce07554967 Merge topic 'enable_warnings'
373b29bd3f Rename {_ => }CMAKE_INCLUDE_SYSTEM_FLAG_${lang}_WARNING

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Acked-by: Marcel Raad <marcel.raad@teamviewer.com>
Merge-request: !9688
2024-07-30 10:13:05 -04:00
Kitware Robot 8639ac2aec CMake Nightly Date Stamp 2024-07-30 00:01:13 -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
Vito Gamberini 35734c8de3 PkgC: Add llpkgc to build 2024-07-29 13:14:41 -04:00
Patrick H 373b29bd3f Rename {_ => }CMAKE_INCLUDE_SYSTEM_FLAG_${lang}_WARNING
Although not documented publicly, projects may need to override
this variable.  Remove the private `_` prefix from its name.

Issue: #25103
2024-07-29 11:50:02 -04:00
Vitaly Stakhovsky 61ce6a6eeb Source: Delete unused prototypes 2024-07-29 10:45:02 -04:00
Kitware Robot feb67ce718 CMake Nightly Date Stamp 2024-07-29 00:03:14 -04:00
Kitware Robot 4b1df8320e CMake Nightly Date Stamp 2024-07-28 00:01:23 -04:00
Kitware Robot f2393d820b CMake Nightly Date Stamp 2024-07-27 00:01:47 -04:00
Matthew Woehlke 8178fd43e9 export: Fix handling of import prefix
Fix some additional places in export generation logic that were still
hard-coding the import prefix. Change cmGeneratorExpression::Preprocess
to take the desired prefix as an argument. (This replaces taking a
boolean whether to resolve relative paths; if a non-empty prefix is
given, that is used to resolve relative paths, otherwise relative paths
are left alone.) This should ensure that import properties always spell
the prefix according to the format being generated.
2024-07-26 16:40:03 -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
Kitware Robot eac3afd8c5 CMake Nightly Date Stamp 2024-07-26 00:01:12 -04:00
Matthew Woehlke e5b73b60e3 export: Generalize GenerateImportFileConfig
Move some logic that is specific to CMake-format exports from
GenerateImportFileConfig to an overload of GenerateImportConfig, so that
the former can be moved (back) to the generic base class. This will
allow it to also be used for Common Package Specification exports. To
facilitate this, also add a method to get the format-specific character
used to separate the export file base name from the config suffix, so
that the rest of the logic to determine the file name can be shared.
2024-07-25 18:33:35 -04:00
Matthew Woehlke cd217739f7 export: Refactor obtaining export information
Refactor methods in the build and install export file generators to have
the same, simplified API. Expose the resulting method as an abstract
method on the base class, so that it can be called from mode-agnostic
generators. While we're at it, refactor cmExportInstallFileGenerator's
version to use std::any_of.
2024-07-25 18:33:35 -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 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
Kitware Robot a38d6414f6 CMake Nightly Date Stamp 2024-07-25 00:01:34 -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 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
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 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
Kitware Robot b0a7a2dd9a CMake Nightly Date Stamp 2024-07-23 00:01:10 -04:00
Orkun Tokdemir 7d8d239574 GeneratorTarget: Factor out AddSystemIncludeCacheKey() 2024-07-22 17:03:20 +02: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
Kitware Robot a9c5dec8d0 CMake Nightly Date Stamp 2024-07-22 00:03:17 -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
Brad King f99e6101d0 Merge topic 'cmMakefile-refactoring'
62bb8a77a5 cmMakefile: Teach ConfigureFile to move the temp file instead of copying it
dc38f81237 cmSystemTools: Revise MoveFileIfDifferent to return cmsys::Status
0a0a826b86 cmMakefile: Use find_if instead of manual loop
e0294fa310 cmMakefile: Replace single-char string literal with char for cmStrCat
206961bc60 cmMakefile::FormatListFileStack: Refactor "manual" loop into algorithms
2e16b58b7c cmStringAlgorithms: Move generic strings join function to public API
ce991188f3 cmMakefile::FormatListFileStack: Exit early on empty stack trace
29fb605822 cmMakefile::FormatListFileStack: Refactor 'while' into 'for'
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9635
2024-07-19 10:05:03 -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