Commit Graph

35959 Commits

Author SHA1 Message Date
Kitware Robot
aa6b2180bf CMake Nightly Date Stamp 2024-08-07 00:01:18 -04:00
Kyle Edwards
f774a5ab5c Merge topic 'find-debug-root'
f8264cf2ff find_package(): Debug re-rooting behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Acked-by: Brad King <brad.king@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !9701
2024-08-06 09:37:34 -04:00
Kitware Robot
b575a8fc8c CMake Nightly Date Stamp 2024-08-06 00:01:12 -04:00
Brad King
3f1709abaa Merge topic 'test-log-write'
29db283ba7 CTest: remove cmCTestLogWrite helper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9699
2024-08-05 09:52:11 -04:00
Kitware Robot
9af150ed3d CMake Nightly Date Stamp 2024-08-05 00:02:46 -04:00
Kitware Robot
4a262f2d71 CMake Nightly Date Stamp 2024-08-04 00:01:24 -04:00
Kitware Robot
4aa42149d6 CMake Nightly Date Stamp 2024-08-03 00:01:15 -04:00
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
Kitware Robot
3c7c0f2fc6 CMake Nightly Date Stamp 2024-08-02 00:01:14 -04:00
Daniel Pfeifer
29db283ba7 CTest: remove cmCTestLogWrite helper 2024-08-02 00:14:57 +02: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