Commit Graph

71248 Commits

Author SHA1 Message Date
Craig Scott
892fa0bb88 fileapi: Use unsigned int consistently for version numbers
The file API code used unsigned long to hold the major version in most
places, but not all. Some places used unsigned int, and an important one
of those is the cmFileApi::BuildVersion() function. As a result, it has never
been safe for a large value not representable by an unsigned int to be
used in these variables.

Convert all of the file API version number variables and function arguments
to use unsigned int consistently. This avoids any size mismatch warnings
when passing values around. They also don't need to be unsigned long,
as we never expect version numbers to be anything even close to what
an unsigned int cannot represent.
2025-07-13 14:56:28 +10:00
Kitware Robot
7fcc90c99c CMake Nightly Date Stamp 2025-07-12 00:04:32 -04:00
Brad King
5d3497ac10 Merge topic 'ci-linkcheck'
41415dcdf5 ci: Do not linkcheck $project.sourceforge.net URLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10942
2025-07-11 06:57:11 -04:00
Kitware Robot
8e67330e08 CMake Nightly Date Stamp 2025-07-11 00:04:36 -04:00
Brad King
79b5b4ae26 Merge branch 'release-4.1' 2025-07-10 11:04:22 -04:00
Brad King
2f8ae28ef6 CMake 4.1.0-rc2 v4.1.0-rc2 2025-07-10 10:35:07 -04:00
Brad King
41415dcdf5 ci: Do not linkcheck $project.sourceforge.net URLs
These URLs are expected to be stable.  Reduce load on SF infrastructure.
2025-07-10 10:34:19 -04:00
Brad King
34e468ef58 Merge branch 'release-4.1' 2025-07-10 10:30:26 -04:00
Brad King
5cb9891d64 Merge topic 'windows-kernel-mode-driver'
2f5dce1b40 cmExperimental: remove the flag for Windows Kernel Mode Driver support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10937
2025-07-10 10:30:26 -04:00
Brad King
265c676445 Merge topic 'windows-kernel-mode-driver' into release-4.1
2f5dce1b40 cmExperimental: remove the flag for Windows Kernel Mode Driver support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10937
2025-07-10 10:30:23 -04:00
Brad King
f8887beb34 Merge branch 'release-4.1' 2025-07-10 10:29:01 -04:00
Brad King
bb47b25993 Merge topic 'file-api-fileset-fix'
ea6404b9c4 FileAPI: Ignore unresolved FileSet generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: autoantwort <leander.schulten@rwth-aachen.de>
Merge-request: !10938
2025-07-10 10:29:01 -04:00
Brad King
cf1bf70fc2 Merge topic 'file-api-fileset-fix' into release-4.1
ea6404b9c4 FileAPI: Ignore unresolved FileSet generators

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: autoantwort <leander.schulten@rwth-aachen.de>
Merge-request: !10938
2025-07-10 10:28:59 -04:00
Kitware Robot
a4d82a5a6d CMake Nightly Date Stamp 2025-07-10 00:04:32 -04:00
Vito Gamberini
ea6404b9c4 FileAPI: Ignore unresolved FileSet generators
Fixes: #27054
2025-07-09 10:08:47 -04:00
Brad King
2f5dce1b40 cmExperimental: remove the flag for Windows Kernel Mode Driver support
Enable setting `CMAKE_SYSTEM_NAME` to `WindowsKernelModeDriver` without
an experimental gate.
2025-07-09 09:54:45 -04:00
Brad King
14d1d90c1b Merge branch 'release-4.1' 2025-07-09 09:44:51 -04:00
Brad King
f143b8a623 Merge topic 'keyword-project-name-fix'
a38e594340 project: fix keyword argument as project name
7238c8c999 ArgumentParser: implement HasKeyword helper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10935
2025-07-09 09:44:50 -04:00
Brad King
9953069215 Merge topic 'keyword-project-name-fix' into release-4.1
a38e594340 project: fix keyword argument as project name
7238c8c999 ArgumentParser: implement HasKeyword helper

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10935
2025-07-09 09:44:49 -04:00
Brad King
9eb08ae212 Merge branch 'release-4.1' 2025-07-09 09:43:29 -04:00
Brad King
e5dc5dfe10 Merge topic 'cuda-nonexistent-compiler-path'
bf442068bb CUDA: Improve error message for nonexistent compiler paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10933
2025-07-09 09:43:29 -04:00
Brad King
0e254055d6 Merge topic 'cuda-nonexistent-compiler-path' into release-4.1
bf442068bb CUDA: Improve error message for nonexistent compiler paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10933
2025-07-09 09:43:28 -04:00
Kitware Robot
51e22572ed CMake Nightly Date Stamp 2025-07-09 00:04:52 -04:00
Vito Gamberini
a38e594340 project: fix keyword argument as project name
Fixes: #27051
2025-07-08 18:00:00 -04:00
Vito Gamberini
7238c8c999 ArgumentParser: implement HasKeyword helper 2025-07-08 17:44:07 -04:00
Robert Maynard
bf442068bb CUDA: Improve error message for nonexistent compiler paths
Fixes: #25709
2025-07-08 09:58:37 -04:00
Brad King
64b35e8fcb Merge topic 'gtest-use-json-output-for-discovery'
088b0af2f9 GoogleTest: Fix naming of tests with named parameters
3f780c3fde GoogleTest: Set DEF_SOURCE_LINE on tests if file and line are known
1cdceae8e3 GoogleTest: Parse discovered test list from JSON output if supported
07d14c21a9 GoogleTest: Add tests for NO_PRETTY_VALUES and NO_PRETTY_TYPES
54bb974b27 GoogleTest: Add tests for named parameters

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Dennis Lambe <malsyned_kitware@malsyned.net>
Merge-request: !10739
2025-07-08 09:40:03 -04:00
Kitware Robot
49d5d9f708 CMake Nightly Date Stamp 2025-07-08 00:04:52 -04:00
Dennis Lambe Jr.
088b0af2f9 GoogleTest: Fix naming of tests with named parameters
Recent changes to the JSON and stdout parsers changed the current test
names from an unintentional bug to an intentional compatibility hack.
This commit removes that compatibility hack and makes tests with named
parameters follow the same naming conventions as tests with numbered
parameters.

Fixes: #26939
2025-07-08 07:58:35 +10:00
Ottmar Zittlau
3f780c3fde GoogleTest: Set DEF_SOURCE_LINE on tests if file and line are known
This information is available when --gtest_output=json is supported,
which it almost always is on GoogleTest >= 1.8.1.
2025-07-08 07:58:34 +10:00
Ottmar Zittlau
1cdceae8e3 GoogleTest: Parse discovered test list from JSON output if supported
The --gtest_output=json option is supported from gtest 1.8.1 onwards.
Earlier versions output a warning about it being an unrecognized option,
and builds that #define GTEST_HAS_FILE_SYSTEM 0 output an error about it
being unsupported, but in both cases still continue outputting the same
plain text output as before and return an exit code of 0.

We now add that option and check for whether the JSON file is generated,
falling back to parsing the plain text output as before if it isn't or
if the environment variable NO_GTEST_JSON_OUTPUT is set.

The fake executor binaries are sensitive to parameter order. This commit
adds --gtest_output:json arguments to a number of tests added for the
new JSON parser. The argument order has been adjusted for the
invocations of those binaries.

Co-Authored-By: Craig Scott <craig.scott@crascit.com>
Co-Authored-By: Dennis Lambe Jr. <malsyned@malsyned.net>
2025-07-08 07:58:34 +10:00
Brad King
5525104cd0 Merge topic 'update-kwsys'
14891241ec Merge branch 'upstream-KWSys' into update-kwsys
9d2ef414ba KWSys 2025-07-07 (2f3a7814)
7c8e4687b9 ci: configure 'typos' to tolerate all 8-12 character hex identifiers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10920
2025-07-07 13:23:47 -04:00
Brad King
ada38fa12a Merge topic 'cps-test-empty-config'
4bb4bbcf59 Tests: Actually test CPS generation with no config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Reviewed-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10926
2025-07-07 11:26:52 -04:00
Brad King
14891241ec Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-07-07 (2f3a7814)
2025-07-07 11:23:55 -04:00
KWSys Upstream
9d2ef414ba KWSys 2025-07-07 (2f3a7814)
Code extracted from:

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

at commit 2f3a7814cf53af23809b2dcec1dbe5eed45cfb43 (master).

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

Daniel Pfeifer (5):
      fd4c4235 Reference test executables by target name
      0725a089 SystemInformation: Remove redundant attempt to use OSVERSIONINFO
      136db938 SystemInformation: Remove unused variable bIsWindows64Bit
      41d44dbe SystemInformation: Rewrite OSRelease and OSVersion on Windows
      7d0a468c TestsCxx: Add an application manifest for Windows
2025-07-07 11:23:54 -04:00
Brad King
ecb480fb38 Merge branch 'release-4.1' 2025-07-07 11:18:02 -04:00
Brad King
6ffcca0424 Merge topic 'doc-file-api-omissions'
da73f6b058 Help: Add cxxModuleBmi details missing from file API and release notes
bef17abc09 Help: Add file API fileSet... fields missed in the 3.23 release notes
094436db98 Help: The fileSets item in a codemodel target object is optional
1398ef18c2 Help: Add missing backtrace property to compileCommandFragments
74d70d13cd Help: Fix repeated word in file API docs for sourceFileExtensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10913
2025-07-07 11:18:02 -04:00
Brad King
b557cd0f49 Merge topic 'doc-file-api-omissions' into release-4.1
da73f6b058 Help: Add cxxModuleBmi details missing from file API and release notes
bef17abc09 Help: Add file API fileSet... fields missed in the 3.23 release notes
094436db98 Help: The fileSets item in a codemodel target object is optional
1398ef18c2 Help: Add missing backtrace property to compileCommandFragments
74d70d13cd Help: Fix repeated word in file API docs for sourceFileExtensions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10913
2025-07-07 11:18:00 -04:00
Kitware Robot
7a5dc2b32b CMake Nightly Date Stamp 2025-07-07 00:07:26 -04:00
Kitware Robot
babeb502f4 CMake Nightly Date Stamp 2025-07-06 00:04:40 -04:00
Kitware Robot
6903385999 CMake Nightly Date Stamp 2025-07-05 00:04:17 -04:00
Kitware Robot
be4ec6a11e CMake Nightly Date Stamp 2025-07-04 00:04:24 -04:00
Craig Scott
da73f6b058 Help: Add cxxModuleBmi details missing from file API and release notes
Fixes: #27028
2025-07-04 11:01:15 +10:00
Craig Scott
bef17abc09 Help: Add file API fileSet... fields missed in the 3.23 release notes 2025-07-04 10:34:33 +10:00
Craig Scott
094436db98 Help: The fileSets item in a codemodel target object is optional 2025-07-04 10:34:32 +10:00
Craig Scott
1398ef18c2 Help: Add missing backtrace property to compileCommandFragments
Fixes: #27030
2025-07-04 10:34:32 +10:00
Craig Scott
74d70d13cd Help: Fix repeated word in file API docs for sourceFileExtensions 2025-07-04 10:31:34 +10:00
Matthew Woehlke
4bb4bbcf59 Tests: Actually test CPS generation with no config
Commit 58d9950842 (CPS: Fix empty configuration field on noconfig
builds, 2025-06-30) fixed an issue with CPS generation that would
incorrectly use the empty string to identify the configuration in some
instances. (The expected CMake behavior is that an empty configuration
is always equivalent to 'noconfig'.) However, that commit did not add
any tests for the fix.

Add those tests now. Also, tweak the tests that were added, that test
for expected non-empty configuration-specific content, to hard-code what
configuration or configurations are produced. Lastly, remove the
explicit test for existence of the CPS file in said tests; `file(READ)`
will complain if the file does not exist, so the separate test is
superfluous.
2025-07-03 13:58:31 -04:00
Brad King
a6245c9bf6 Merge topic 'cps-file-set'
7db44fbfb8 CPS: Support FILE_SET HEADERS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10906
2025-07-03 13:04:50 -04:00
Brad King
bc07a21836 Merge topic 'post-rel-dev'
8071304f2e Configure CMake itself with policies through CMake 4.0
f7380d8c4a export: Increase maximum policy version in exported files to 4.0
94ff184a63 Add deprecation warnings for policies CMP0143 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10925
2025-07-03 13:03:14 -04:00