Commit Graph

9001 Commits

Author SHA1 Message Date
Brad King
732beb3960 Merge topic 'doc-4.1-vs-flags'
ea357236f4 Help: Add 4.1 release note about VS link flag suppression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11525
2025-12-18 10:35:14 -05:00
Brad King
da84370cff Merge topic 'sbom-export-generators'
8ec5a595cd cmSbom: Add documentation for `install(SBOM)` and `export(SBOM)`
83671f2d87 cmSbom: Add `export(SBOM)` build generators and unit tests
f2027a886b cmSbom: Add `install(SBOM)` generator and unit tests
dcadde3662 CPS: Refactor ForbidGeneratorExpressions into cmGeneratorExpression
bcb6f689a4 cmExportInstallFileGenerator: Allow overriding of CheckInterfaceDirs
6d6c37c90d cmPackageInfoArguments: Extract common values
8c6676b2ea cmFindPackage: Fix PACKAGE_VERSION not being set when rebuilding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11396
2025-12-18 10:13:32 -05:00
Brad King
3d0b2ec54d Merge topic 'file-ARCHIVE_CREATE-compression'
e347176424 file(ARCHIVE_CREATE): Add controls for zip and 7z compression method/level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !11522
2025-12-18 10:02:18 -05:00
Brad King
ea357236f4 Help: Add 4.1 release note about VS link flag suppression
Document link flags suppressed by commit 99d09ec45a (VS: Suppress
MSBuild default link flags not specified by project or user, 2025-06-17,
v4.1.0-rc1~6^2).  Leave out `-subsystem` because that's being reverted
by another commit.

Issue: #27004
Issue: #27464
2025-12-17 16:58:30 -05:00
AJIOB
e347176424 file(ARCHIVE_CREATE): Add controls for zip and 7z compression method/level
Fixes: #27463
2025-12-17 14:38:30 -05:00
Taylor Sasser
8ec5a595cd cmSbom: Add documentation for install(SBOM) and export(SBOM) 2025-12-17 14:35:12 -05:00
Kevin Barre
07fe3f95ce CPack/DEB: Add CPACK_DEBIAN_COMPRESSION_LEVEL variable
Add a new variable `CPACK_DEBIAN_COMPRESSION_LEVEL` to control the compression
level used when generating Debian packages. This complements the existing
`CPACK_DEBIAN_COMPRESSION_TYPE` variable and allows finer control over the
compression performance vs. size trade-off. Supported values correspond to
the compression level accepted by the underlying compressor (e.g. gzip, xz,
zstd, etc.).
2025-12-17 14:27:10 -05:00
Brad King
292f6fc360 Merge topic 'cpack-7z-zip-algorithms'
3db6cce657 cpack: 7z & zip supports compression algorithms
1e4b829279 cpack: restore broken archive compression methods

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11513
2025-12-17 14:11:52 -05:00
Brad King
9efc8d8d4b Merge topic 'preset-doc-version'
70b95bd580 Help/presets: Add changelog

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Overchenko <aleksandr9809@gmail.com>
Merge-request: !11510
2025-12-17 13:36:41 -05:00
Kyle Edwards
1eb5ea3a64 Help(string(JSON)): Clarify that some modes can have zero members/indices 2025-12-16 11:14:16 -05:00
Kyle Edwards
06e6f1e69f string(JSON): Add STRING_ENCODE mode 2025-12-16 10:11:30 -05:00
Kyle Edwards
15973ff247 string(JSON): Add GET_RAW mode 2025-12-16 10:00:29 -05:00
AJIOB
3db6cce657 cpack: 7z & zip supports compression algorithms
Fixes: #27461
2025-12-16 15:52:54 +03:00
Tyler Yankee
70b95bd580 Help/presets: Add changelog
Add a summary of changes for each presets version to improve readability
of the page.

Fixes: #26974
2025-12-15 13:05:17 -05:00
Brad King
4eab9b6708 Merge topic 'cli-tar-compress-algo'
94ae247d44 cli tar: support different algorithms for zip & 7z
1ba3444fd8 libarchive: Limit 7zip and zstd compression level to 6 on AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11488
2025-12-12 10:05:47 -05:00
Brad King
5f59252680 Merge topic 'tutorial-vendor-msvc'
58fc663688 Tutorial: Provide MSVC example to build Vendor library

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11501
2025-12-12 09:53:57 -05:00
AJIOB
94ae247d44 cli tar: support different algorithms for zip & 7z
Fixes: #27443
2025-12-11 12:00:31 -05:00
Tyler Yankee
58fc663688 Tutorial: Provide MSVC example to build Vendor library
Allow Windows users who aren't familiar with MSVC-equivalent commands to
GCC and/or don't have the GNU toolchain installed (via MinGW, etc.) to
practice this example.
2025-12-11 09:09:35 -05:00
Brad King
d54e15a5b8 ci: Require Windows 10 in official precompiled binaries
See Windows SDK docs [1] on API selection via preprocessor definitions.

[1] https://learn.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt

Closes: #27450
2025-12-10 10:09:27 -05:00
Brad King
6eab40fa4a Merge topic 'export-empty-args'
2151e5f79d export, install: Improve argument parsing
2e71df0156 export: Explicitly allow empty NAMESPACE
5564c2cd9a cmArgumentParser: Improve bad argument handling
3f38f9511b cmArgumentParser: Add support for MaybeEmpty<std::string>
1ec7201558 cmStringAlgorithms: Add cmStripWhitespace
2ca58c5ac9 set: Improve error message consistency

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11472
2025-12-10 09:37:52 -05:00
Brad King
a23dc64ff6 Merge topic 'tutorial-fix-file'
1ad84c5301 Tutorial: Fix path to file in exercise solution

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11493
2025-12-10 09:27:25 -05:00
Tyler Yankee
1ad84c5301 Tutorial: Fix path to file in exercise solution 2025-12-09 15:23:34 -05:00
Matthew Woehlke
2151e5f79d export, install: Improve argument parsing
Modify the `export(EXPORT)` and `install(PACKAGE_INFO)` commands to
actually enforce that certain arguments must be non-empty. With respect
to `export`, this is mainly targeted at CPS export, but ends up
affecting all flavors of `export(EXPORT)` because that is the level at
which argument parsing is performed.

Also, add unit tests to verify that the new rejection of arguments with
missing or empty values is working, update the existing tests due to
changes in error reporting, and remove no-longer-needed manual
validation of an empty `PACKAGE_INFO` argument.
2025-12-09 13:37:01 -05:00
Brad King
b32e8f11d0 Merge topic 'normalize-sqlite-target-name'
d4754c1a0c FindSQLite3: Use package name as namespace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11482
2025-12-09 10:59:16 -05:00
Brad King
20e81dbd5e Merge branch 'release-4.2' 2025-12-08 14:06:39 -05:00
Brad King
485f11a780 CMake 4.2.1 2025-12-08 13:33:58 -05:00
Brad King
e10b07595a Merge branch 'release-4.1' 2025-12-08 12:01:54 -05:00
Brad King
f0549d0083 Merge branch 'release-4.1' into release-4.2 2025-12-08 12:01:39 -05:00
Brad King
892fad3d23 CMake 4.1.4 2025-12-08 11:30:41 -05:00
Matthew Woehlke
d4754c1a0c FindSQLite3: Use package name as namespace
As we (hopefully) move toward a CPS world, it is helpful for imported
targets to use the package name as the namespace (as required by CPS).
Modify FindSQLite3 to do so. The old name is retained for compatibility.
2025-12-08 11:14:43 -05:00
Brad King
9ed923123f Merge topic 'doc-4.2-vs-flags'
faa88b28a5 Help: Add 4.2 release note about VS flag suppression
19527eb5c6 Merge branch 'doc-4.1-vs-flags' into doc-4.2-vs-flags
e2646b9926 Help: Add 4.1 release note about VS flag suppression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11489
2025-12-08 11:09:13 -05:00
Brad King
faa88b28a5 Help: Add 4.2 release note about VS flag suppression
Document flags suppressed by commit 7202539fd4 (VS: Suppress MSBuild
default flags not specified by project or user, 2025-09-10,
v4.2.0-rc1~188^2~1).
2025-12-08 10:28:56 -05:00
Brad King
19527eb5c6 Merge branch 'doc-4.1-vs-flags' into doc-4.2-vs-flags 2025-12-08 10:28:50 -05:00
Brad King
e2646b9926 Help: Add 4.1 release note about VS flag suppression
Document flags suppressed by commit 7db3dbddb2 (VS: Suppress MSBuild
default flags not specified by project or user, 2025-06-02,
v4.1.0-rc1~69^2).
2025-12-08 10:28:32 -05:00
Brad King
ad7afb6455 Merge topic 'fix-27422'
d4d2a6a19d cli tar: support compression level

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11479
2025-12-08 10:19:55 -05:00
Brad King
4fa833250b Merge topic 'ci-linkcheck'
b1a2371c26 Help: Replace QtCreator link with its permanent redirect

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11478
2025-12-08 10:01:50 -05:00
Craig Scott
c0eb0ad5ef Merge topic 'instrumentation-post-workflow'
956d36d3cd instrumentation: Add postCMakeWorkflow hook

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Alex Overchenko <aleksandr9809@gmail.com>
Merge-request: !11450
2025-12-07 19:27:41 -05:00
AJIOB
d4d2a6a19d cli tar: support compression level
Fixes #27422
2025-12-05 20:00:24 +03:00
Brad King
3277ef73c8 Merge topic 'FindLibXml2-static'
5f2f36f1ea FindLibXml2: Add a LibXml2_USE_STATIC_LIBS hint

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11476
2025-12-05 09:07:30 -05:00
Brad King
9149ac3f37 Merge topic 'fix-27420'
4fdfa0db1a file(ARCHIVE_CREATE): support multithreading compression
cbf71b21b2 cli tar: support multithreading compression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11460
2025-12-05 09:04:58 -05:00
Brad King
b1a2371c26 Help: Replace QtCreator link with its permanent redirect 2025-12-05 08:55:18 -05:00
Keith Smiley
5f2f36f1ea FindLibXml2: Add a LibXml2_USE_STATIC_LIBS hint
Add an option to search only for the static library.
2025-12-04 15:51:35 -05:00
Brad King
e4737d1c4a Merge topic 'cli-tar-lzma'
5b87a5d53e cli tar: implement LZMA support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11465
2025-12-03 16:26:20 -05:00
Martin Duffy
956d36d3cd instrumentation: Add postCMakeWorkflow hook
Issue: #27414
2025-12-03 16:00:37 -05:00
AJIOB
4fdfa0db1a file(ARCHIVE_CREATE): support multithreading compression
Relates: #27420
2025-12-03 02:45:30 -05:00
AJIOB
cbf71b21b2 cli tar: support multithreading compression
Fixes: #27420
2025-12-03 02:45:30 -05:00
Craig Scott
c98bec6ae6 Merge topic 'fileapi-compilerargs'
71a4e34d97 fileAPI: Expose CMAKE_<LANG>_COMPILER_ARG1
1e02926c9a fileAPI: Refactor toolchains schema to prepare for new version
3caa572c05 fileAPI: Output more info for test failures

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11419
2025-12-02 16:27:43 -05:00
Brad King
8fd9ebea6b Merge topic 'doc-policy-max'
7323fbd65e Help: Be more explicit about what `...<policy_max>` does not mean

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11438
2025-12-02 15:52:30 -05:00
Brad King
95e8df9cab Merge topic 'fix-docs-27429'
cd5f7eb30a Help: improve XZ compression method docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11463
2025-12-02 15:37:22 -05:00
Christian Walther
71a4e34d97 fileAPI: Expose CMAKE_<LANG>_COMPILER_ARG1
Compiler arguments coming from CC environment variables or multi-element
CMAKE_<LANG>_COMPILER variables set by toolchain files were previously not
exposed in the file API. Among other possible problems, this caused clients
to determine wrong system include paths and built-in preprocessor macros by
calling the compiler without these important arguments.

This is fixed by adding an optional "commandFragment" attribute to the
compiler description in the `toolchains` object, containing these arguments
as a command line fragment. This is already the form in which they are
internally stored in the CMAKE_<LANG>_COMPILER_ARG1 variable, so all that is
required is adding this variable to the set of exported variables, besides
some logic to omit it if empty.

Issue: #22568
2025-12-03 07:34:53 +11:00