Commit Graph
73439 Commits
Author SHA1 Message Date
Ben Boeckel 491ecd47ce Help/cmake-cxxmodules: document the chosen design 2026-01-12 12:58:03 -05:00
Ben Boeckel 65fd821d77 Help/cmake-cxxmodules: document use cases 2026-01-12 12:58:03 -05:00
Ben Boeckel 45eb0d5a6a Help/cmake-cxxmodules: document the design goals 2026-01-12 12:58:03 -05:00
Ben Boeckel d8ef1da8b6 Help/cmake-cxxmodules: document the design space 2026-01-12 12:58:03 -05:00
Ben Boeckel 64a58224dd Help/cmake-cxxmodules: discuss troubleshooting module problems 2026-01-12 12:58:03 -05:00
Ben Boeckel 25a92e2898 Help/cmake-cxxmodules: more glossary references 2026-01-12 12:58:02 -05:00
Ben Boeckel 496457e605 Help/cmake-cxxmodules: add references to glossary items 2026-01-12 12:57:22 -05:00
Ben Boeckel d7190ad39f Help/cmake-cxxmodules: document possible enhancements 2026-01-12 12:56:52 -05:00
Ben Boeckel 8582f20864 Help/cmake-cxxmodules: review feedback
The prose already present in the document received a pass. Update
according to the feedback. Mostly commas, verb agreement, and clarity.
2025-12-23 14:40:49 -05:00
Ben Boeckel 689d430a21 Help/cmake-cxxmodules: note ninja version requirement with generators 2025-12-15 15:21:12 -05:00
Ben Boeckel f6cbe9e49b Help/cmake-cxxmodules: note VS 2026 support 2025-12-15 15:21:12 -05:00
Ben Boeckel abb87ee202 Help/cmake-cxxmodules: update GCC 14 support status 2025-12-15 15:21:12 -05:00
Ben Boeckel eef0a0faf2 Help/cmake-cxxmodules: use two spaces after sentences 2025-12-12 07:21:07 -05:00
Ben Boeckel 332e5b83f8 Help/IMPORTED_CXX_MODULES_CONFIG: add docs 2025-12-12 07:21:07 -05:00
Kitware Robot e00d1676b8 CMake Nightly Date Stamp 2025-12-12 00:05:16 -05:00
Brad King c570431115 Merge topic 'ci-package-windows-10'
0a0bdaecdf ci: Update Windows packaging jobs to VS 20206
d54e15a5b8 ci: Require Windows 10 in official precompiled binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11496
2025-12-11 09:49:58 -05:00
Brad King 6d9c316515 Merge branch 'release-4.2' 2025-12-11 09:48:15 -05:00
Brad King d3d33843b2 Merge branch 'release-4.1' 2025-12-11 09:48:08 -05:00
Brad King cfbd1b08aa Merge branch 'release-4.1' into release-4.2 2025-12-11 09:47:50 -05:00
Brad King e815e7170e Merge branch 'release-4.2' 2025-12-11 09:42:59 -05:00
Brad King 85d359f008 Merge topic 'fix-nvpl'
1bf46814c4 FindBLAS: Make find_package(nvpl) quiet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11498
2025-12-11 09:42:58 -05:00
Brad King 9d8da1cf15 Merge topic 'fix-nvpl' into release-4.2
1bf46814c4 FindBLAS: Make find_package(nvpl) quiet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11498
2025-12-11 09:42:57 -05:00
Brad King abaeed2e1f Merge branch 'release-4.2' 2025-12-11 09:41:34 -05:00
Brad King 011b1cd050 Merge topic 'export-ignore-ast-grep'
93f5111ba7 gitattributes: Do not export ast-grep infrastructure in source archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11499
2025-12-11 09:41:34 -05:00
Brad King 61909cca7c Merge topic 'export-ignore-ast-grep' into release-4.2
93f5111ba7 gitattributes: Do not export ast-grep infrastructure in source archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11499
2025-12-11 09:41:32 -05:00
Brad King 6a5e9f299f Merge topic 'fix-nvpl' into release-4.1
1bf46814c4 FindBLAS: Make find_package(nvpl) quiet

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11498
2025-12-11 09:40:00 -05:00
Brad King c32e21fe52 Merge topic 'export-ignore-ast-grep' into release-4.1
93f5111ba7 gitattributes: Do not export ast-grep infrastructure in source archives

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11499
2025-12-11 09:38:59 -05:00
Brad King 93f5111ba7 gitattributes: Do not export ast-grep infrastructure in source archives
Exclude infrastructure added by commit 61743471d9 (ast-grep: add a rule
to find adjacent string literals in cmStrCat calls, 2025-05-15,
v4.1.0-rc1~122^2~3).
2025-12-10 14:24:48 -05:00
Vito Gamberini 1bf46814c4 FindBLAS: Make find_package(nvpl) quiet
Fixes: #27451
2025-12-10 11:33:12 -05:00
Brad King 0a0bdaecdf ci: Update Windows packaging jobs to VS 20206
Restore commit ffa010e32d (ci: Update Windows jobs to VS 2026,
2025-11-21, v4.2.1~28^2) now that we require Windows 10 anyway.

Issue: #27450
2025-12-10 10:10:22 -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 485d51f474 Merge topic 'FindRuby-macos-brew'
996a65a328 FindRuby: Add support for Brew on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11474
2025-12-10 09:40:29 -05:00
Brad King c2ceeb0cd4 Merge topic 'cps-reduce-optimism'
039a7b936d CPS: Be less optimistic about what we can read

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11494
2025-12-10 09:39:34 -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 291e536a55 Merge topic 'use-more-cmStrCat'
fe173b68f0 Source: Use cmStrCat in place of string addition

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !11486
2025-12-10 09:34:48 -05:00
Brad King 1bb09e7e27 Merge topic 'ticlang-tests'
003d728faa Tests/RunCMake/TIClang: Remove unused link flags from test cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11492
2025-12-10 09:33:41 -05:00
Brad King a9080cd76b Merge branch 'release-4.2' 2025-12-10 09:27:25 -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
Brad King 363a1997b1 Merge topic 'tutorial-fix-file' into release-4.2
1ad84c5301 Tutorial: Fix path to file in exercise solution

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11493
2025-12-10 09:27:24 -05:00
Brad King 5e8e7eb9f4 Merge branch 'release-4.2' 2025-12-10 09:24:17 -05:00
Brad King 2399794adf Merge topic 'ci-package-msvc-14.44'
01cbab956e ci: Restore support for Windows 7 in official precompiled binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11491
2025-12-10 09:24:17 -05:00
Brad King b78d490d42 Merge topic 'ci-package-msvc-14.44' into release-4.2
01cbab956e ci: Restore support for Windows 7 in official precompiled binaries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11491
2025-12-10 09:24:15 -05:00
Kitware Robot a0b446eb2f CMake Nightly Date Stamp 2025-12-10 00:06:46 -05:00
Charlie Savage 996a65a328 FindRuby: Add support for Brew on macOS
Brew is a common way to install Ruby on MacOS.  Search using paths
provided by the ruby interpreter.
2025-12-09 15:46:22 -05:00
Tyler Yankee 1ad84c5301 Tutorial: Fix path to file in exercise solution 2025-12-09 15:23:34 -05:00
Matthew Woehlke 039a7b936d CPS: Be less optimistic about what we can read
Previously, `cmPackageInfoReader` made the wildly optimistic assumption
that it will know how to read any CPS version that is less than 1.0
(note, the current version as of writing is 0.13). This is likely not a
safe assumption. Assume instead that we only know how to read the
current minor version, i.e. 0.13.x. This still allows room for the
specification to make non-breaking changes, while also providing a
better path for making breaking changes without CMake wrongly thinking
it still understands what it's reading.
2025-12-09 15:13:48 -05:00
Brad King 003d728faa Tests/RunCMake/TIClang: Remove unused link flags from test cases
Typos in commit 9ba0a54554 (TIClang: Add support for TI Clang-based
compilers, including tiarmclang, 2023-12-06, v3.29.0-rc1~4^2~1)
left the flags unused.  In particular, `CMAKE_<LANG>_LINKER_FLAGS`
does not exist.
2025-12-09 15:10:01 -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
Matthew Woehlke 2e71df0156 export: Explicitly allow empty NAMESPACE
Modify argument handling in `HandleExportMode` to explicitly allow an
empty `NAMESPACE`. In practice, this was already the case because we
weren't actually checking for the parsing errors that would cause the
`NonEmpty` decoration to reject an empty value, but we want to be able
to do that going forward, and changing the behavior for `NAMESPACE`
would potentially break legitimate uses. (In particular, one of our unit
tests relies on the current behavior.)
2025-12-09 13:37:01 -05:00
Matthew Woehlke 5564c2cd9a cmArgumentParser: Improve bad argument handling
Tweak ArgumentParser::ParseResult to store errors as a set, rather than
concatenating them. Add a new method that a) also optionally checks for
unknown arguments, and b) reports errors using the `SetError` method of
`cmExecutionStatus`, which allows callers to `return false`, which is
less surprising when an error occurs. This improves consistency at call
sites, reduces duplication by moving the common task of complaining
about unknown arguments to a reusable method, and also produces somewhat
more concise messages in the case that multiple errors occurred.

Note that, for some reason, the parser is sometimes generating duplicate
errors, hence the use of a set rather than a list.
2025-12-09 13:37:01 -05:00