Commit Graph
74249 Commits
Author SHA1 Message Date
Kitware Robot 16c8ec8ec7 CMake Nightly Date Stamp 2026-02-14 00:14:03 -05:00
Brad King 3990abf9fb Merge topic 'doc-cmake_path-out-var'
6592b8ac14 Help/cmake_path: Clarify output variable behavior

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11681
2026-02-13 09:57:04 -05:00
Brad King 32bd370b6b Merge topic 'ctest-test-start-time'
fd55647d16 ctest: Record `StartTestTime` entry for each test in Test.xml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11684
2026-02-13 09:55:33 -05:00
Brad King eec5d93813 Merge topic 'update_sbom_docs_gen_exp'
54ac3937b6 Help: Warn about generator expressions in install(SBOM) docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11685
2026-02-13 09:52:39 -05:00
Brad King 84aff9588f Merge topic 'remove-cps-experimental-gate'
f5c515cbf2 CPS: Remove experimental gate (mostly)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11683
2026-02-13 09:51:24 -05:00
Kitware Robot 17aaf26a26 CMake Nightly Date Stamp 2026-02-13 00:09:52 -05:00
Joseph Snyder fd55647d16 ctest: Record StartTestTime entry for each test in Test.xml
Capture the time at which each test was started.  The time should be in
milliseconds to allow quick test runs to be differentiated.

Fixes: #26859
2026-02-12 14:40:04 -05:00
Tyler Yankee 6592b8ac14 Help/cmake_path: Clarify output variable behavior
Add explicit cross-references for commands which optionally take an
output variable (otherwise modifying their input in-place) for clarity.

Note that `cmake_path` should not be used to modify variables reserved
by CMake.

Improve references to the "CMake-style" semicolon-separated lists, and
apply those corresponding changes to the `file` command page.
2026-02-12 12:50:51 -05:00
Tom Osika 54ac3937b6 Help: Warn about generator expressions in install(SBOM) docs 2026-02-12 12:07:47 -05:00
Brad King cf90886f8b Merge topic 'help-cxxmodules-import-std-no-vs'
f038117687 Help/cmake-cxxmodules: note that VS generators do not support `import std`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11682
2026-02-12 11:08:02 -05:00
Brad King 8c64efbfe9 Merge branch 'release-4.2' 2026-02-12 11:04:34 -05:00
Brad King 477dd9a061 Merge topic 'fbuild_unity_subdirs'
3f43795df9 FASTBuild: Allow files in different subdirs to be in the same unity bucket

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !11679
2026-02-12 11:04:34 -05:00
Brad King a846b2e4c1 Merge topic 'fbuild_unity_subdirs' into release-4.2
3f43795df9 FASTBuild: Allow files in different subdirs to be in the same unity bucket

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !11679
2026-02-12 11:04:32 -05:00
Kitware Robot c3a18b6dd8 CMake Nightly Date Stamp 2026-02-12 00:11:33 -05:00
Matthew Woehlke f5c515cbf2 CPS: Remove experimental gate (mostly)
Remove basic CPS import and export from 'experimental' status. Update
documentation and tests accordingly.

Note that mapped exports (CMAKE_EXPERIMENTAL_MAPPED_PACKAGE_INFO) are
still experimental.
2026-02-11 16:10:29 -05:00
Andrew Maher 3f43795df9 FASTBuild: Allow files in different subdirs to be in the same unity bucket
The FASTBuild generator puts source files from different subdirectories
into different `FastbuildObjectListNode` instances. This ensures that
files with the same name will not write to the same object file. A unity
bucket can only contain files from a single `FastbuildObjectListNode`
instance, so a side effect of this logic is that unity buckets can only
contain files in the same subdirectory. This change fixes the problem by
skipping the subdirectory check logic for files with unity enabled.

Fixes: #27457
2026-02-11 14:38:22 -05:00
Brad King 9d2fc99a95 Merge topic 'cmake-locale-query'
b02ae60a76 cmake_host_system_information: Add query for the locale's charset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11648
2026-02-11 12:41:12 -05:00
Brad King 1ebfb6cb03 Merge topic 'cmake-locale'
d284ce2fd6 Initialize character set encoding on program startup
6ec707312d Make character classification locale-independent
ea47c154e5 Make case-dependent operations locale-independent
c81909f842 Merge branch 'upstream-KWSys' into cmake-locale
5a187b69e7 KWSys 2026-02-11 (dcab76ba)
55842d16ac cmFileCommand: Adopt `file://` URL compatibility helper
6fe7acfe1d curl: Build with support for wide-character filesystem APIs on Windows
9a2ebd7f25 Tests: Add RunCMake.string case covering TOLOWER and TOUPPER with UTF-8
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Overchenko <aleksandr9809@gmail.com>
Merge-request: !11647
2026-02-11 12:39:36 -05:00
Ben Boeckel f038117687 Help/cmake-cxxmodules: note that VS generators do not support import std
Closes: #27595
2026-02-11 12:13:17 -05:00
Brad King a92c9d30ae Merge topic 'cps-dyld-properties'
9fa2b5dd99 CPS: Support importing `link_libraries`
3071bc6c87 CPS: Support importing "link dependent libraries".
92a0abd164 CPS: Support exporting "link dependent libraries".
93891e27cb cmExportPackageInfoGenerator: Refactor extracting requirements

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11667
2026-02-11 12:08:32 -05:00
Brad King 0aa7e258d4 Merge topic 'doc-ctest-link'
01a47a790b Help: Link `CTEST_*` variables to dashboard client
12a0ebe96a Help/CTest: Improve formatting and grammar

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11677
2026-02-11 12:05:29 -05:00
Brad King 43375ad8f8 Merge topic 'per-importer-bmi'
5c00749c5d cmCxxModuleUsageEffects: Collect and apply BMI compatibility requirements
5898c8d2e0 cxxmodules: Generate per-importer BMIs for native targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11561
2026-02-11 12:03:15 -05:00
Brad King 5e712a80ed Merge topic 'persist-cxxjson'
75a30136a1 c++modules: Persist CMAKE_CXX_STDLIB_MODULES_JSON

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !11678
2026-02-11 12:00:34 -05:00
Brad King b02ae60a76 cmake_host_system_information: Add query for the locale's charset
Issue: #27562
2026-02-11 11:56:05 -05:00
Brad King d284ce2fd6 Initialize character set encoding on program startup
libarchive uses `nl_langinfo(CODESET)` as the host's encoding to convert
path names to/from the archive's encoding.  Since commit cd408d93fd (Add
setlocale() calls around use of libarchive APIs, 2015-02-06, v3.1.3~2^2)
we've set `LC_CTYPE` using a scoped locale around libarchive calls to
avoid affecting character classification in the rest of the program.

We've since updated the rest of our code to be locale-independent.
Replace the scoped locale with a single locale established at program
startup.  This is more efficient and avoids mutating global state.

Issue: #27562
2026-02-11 11:55:59 -05:00
Brad King 2a1c29f283 Merge branch 'release-4.2' 2026-02-11 11:55:54 -05:00
Brad King 6ec707312d Make character classification locale-independent
Use ASCII-only ctype operations provided by KWSys String.
These match the "C" locale in which `cmake` has long run.
2026-02-11 11:55:54 -05:00
Brad King dcc6511b81 Merge topic 'ci-gcc-cxx-modules-reloc'
7c3104ae0c ci: Fix test environment covering `CMAKE_CXX_STDLIB_MODULES_JSON`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11675
2026-02-11 11:55:53 -05:00
Brad King 2a3c61411d Merge topic 'ci-gcc-cxx-modules-reloc' into release-4.2
7c3104ae0c ci: Fix test environment covering `CMAKE_CXX_STDLIB_MODULES_JSON`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !11675
2026-02-11 11:55:52 -05:00
Brad King ea47c154e5 Make case-dependent operations locale-independent
Use ASCII-only ctype operations provided by KWSys String.
These match the "C" locale in which `cmake` has long run.
2026-02-11 11:55:50 -05:00
Brad King c81909f842 Merge branch 'upstream-KWSys' into cmake-locale
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2026-02-11 (dcab76ba)
2026-02-11 11:54:22 -05:00
KWSys Upstream 5a187b69e7 KWSys 2026-02-11 (dcab76ba)
Code extracted from:

    https://gitlab.kitware.com/utils/kwsys.git

at commit dcab76bae1caf031c5f16f443a5a98577abf220f (master).

Upstream Shortlog
-----------------

Brad King (6):
      31fd473d String: Add locale-independent ASCII tolower and toupper functions
      7ff358b8 String: Make case-insensitive comparisons locale-independent
      cd306f61 SystemTools: Make case-conversion operations locale-independent
      ed2a5afd Glob: Make case-insensitive comparison locale-independent
      f48811e4 String: Add locale-independent ASCII classification functions
      70d6b608 Make ASCII character classification locale-independent
2026-02-11 11:54:22 -05:00
Brad King 23ae364fc1 Merge branch 'release-4.2' 2026-02-11 11:53:22 -05:00
Brad King 9686a367df Merge topic 'vs-win11-sdk'
6d8ce8b190 VS: Accept Windows 11 SDKs as semantically equivalent to Windows 10 SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11671
2026-02-11 11:53:22 -05:00
Brad King 57346991aa Merge topic 'vs-win11-sdk' into release-4.2
6d8ce8b190 VS: Accept Windows 11 SDKs as semantically equivalent to Windows 10 SDKs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11671
2026-02-11 11:53:20 -05:00
Kitware Robot a4d059ca3a CMake Nightly Date Stamp 2026-02-11 00:12:15 -05:00
Ben Boeckel 75a30136a1 c++modules: Persist CMAKE_CXX_STDLIB_MODULES_JSON
And change checks to look for a value rather than definition. This fix
keeps the same set of test cases in `RunCMake.CXXModules` selected as
before.

Fixes: #27589
2026-02-10 21:07:29 -05:00
Ole Hüser 7c3104ae0c ci: Fix test environment covering CMAKE_CXX_STDLIB_MODULES_JSON
In commit 85e536b5eb (gitlab-ci: test `CMAKE_CXX_STDLIB_MODULES_JSON` in
CI, 2025-09-11, v4.2.0-rc1~182^2) we intended to move the file
`libstdc++.modules.json` to a new folder, but source and destination
paths for the `file(RENAME ...)` command were the same. They both were
the original location of the file.  Fix the code to move the file to the
directory created with `file(MAKE_DIRECTORY ...)`.

Fixes: #27586
2026-02-10 11:59:32 -05:00
Brad King 961ed3f2e9 Merge topic 'hip-windows-clang'
73051ad572 fix: build HIP on Windows with MSVC-style clang-cl.exe

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11663
2026-02-10 11:35:47 -05:00
Brad King aaad1bf733 Merge branch 'release-4.2' 2026-02-10 11:32:09 -05:00
Brad King 8d251cc54a Merge topic 'fastbuild-imported-objlib'
67dc1dff7c FASTBuild: fix imported object libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11670
2026-02-10 11:32:08 -05:00
Brad King c940e270e6 Merge topic 'fastbuild-imported-objlib' into release-4.2
67dc1dff7c FASTBuild: fix imported object libs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11670
2026-02-10 11:32:07 -05:00
Brad King 3018d391c9 Merge branch 'release-4.2' 2026-02-10 11:29:40 -05:00
Brad King adb51b1e4e Merge topic 'fix-ctest-instrumentation-output'
63165db061 instrumentation: Fix ctest output of Build.xml when targets have labels

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11673
2026-02-10 11:29:40 -05:00
Brad King b30902c722 Merge topic 'fix-ctest-instrumentation-output' into release-4.2
63165db061 instrumentation: Fix ctest output of Build.xml when targets have labels

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11673
2026-02-10 11:29:37 -05:00
Brad King 8627a5f0c9 Merge branch 'release-4.2' 2026-02-10 11:25:52 -05:00
Brad King b630ddef9f Merge topic 'FindBoost-1.89-1.90'
a1aa530be7 FindBoost: Add support for Boost 1.90
468873faab FindBoost: Add support for Boost 1.89

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11674
2026-02-10 11:25:52 -05:00
Brad King 869740d071 Merge topic 'FindBoost-1.89-1.90' into release-4.2
a1aa530be7 FindBoost: Add support for Boost 1.90
468873faab FindBoost: Add support for Boost 1.89

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11674
2026-02-10 11:25:50 -05:00
Matthew Woehlke 9fa2b5dd99 CPS: Support importing link_libraries
Teach CPS import to read the `link_libraries` attribute. We've exported
this for a long time, but apparently the code to read it back was never
implemented. (To be fair, use of this attribute is discouraged.)
2026-02-10 10:17:35 -05:00
Matthew Woehlke 3071bc6c87 CPS: Support importing "link dependent libraries".
Teach CPS import to read the `dyld_requires` attribute.

Fixes: #27501
2026-02-10 10:17:17 -05:00