Commit Graph

71298 Commits

Author SHA1 Message Date
Brad King
ea46bc69d5 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-07-24 (bf2d9893)
2025-07-24 09:45:32 -04:00
KWSys Upstream
278ce30d07 KWSys 2025-07-24 (bf2d9893)
Code extracted from:

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

at commit bf2d98935924be7915914bb52777dca50cf40107 (master).

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

Benjamin Buch (1):
      d49120dd SystemTools: Add CopyFileIfNewer
2025-07-24 09:45:32 -04:00
Brad King
ce54396676 cmFileCopier: Remove explicit default argument 2025-07-21 10:42:28 -04:00
Brad King
8eeeeb7efe Merge topic 'doc-FindDoxygen-TypoFix'
8695591d50 FindDoxygen: Fix typo in docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10956
2025-07-21 10:29:10 -04:00
Brad King
816e235609 Merge topic 'patch-TestBigEndian'
59da6d9e5c TestBigEndian, CMAKE_<LANG>_BYTE_ORDER: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10950
2025-07-21 10:24:09 -04:00
Austin Schuberth
8695591d50 FindDoxygen: Fix typo in docs
The example for using custom configuration file used
`doxygen_add_doxs()` instead of `doxygen_add_docs()`.
2025-07-21 10:21:07 -04:00
Brad King
88e66a8fc7 Merge topic 'patch-CMAKE_DL_LIBS'
934567de19 CMAKE_DL_LIBS: Update documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10953
2025-07-21 10:19:33 -04:00
Brad King
5e26f8d3a7 Merge topic 'instrumentation-ctest-interface'
21ac285cd8 Experimental: Update the Instrumentation UUID
9dec460c8c instrumentation: Store CDash settings in query files
afa94bae1e instrumentation: Rename queries field to options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10934
2025-07-21 10:13:32 -04:00
Brad King
f8dcf102d9 Merge topic 'find-package-unwind'
f61768107e find_package: Implement UNWIND_INCLUDE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10943
2025-07-21 10:09:00 -04:00
Brad King
b86cfdb9ec Merge branch 'release-4.1' 2025-07-21 10:02:26 -04:00
Brad King
040c1138df Merge topic 'linux32-time64'
a760a74abf Tests: Optionally skip tests requiring 64-bit time_t
14e21fa992 bootstrap: Compile with 64-bit time_t on 32-bit Linux if possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10951
2025-07-21 10:02:26 -04:00
Brad King
e4fade14ad Merge topic 'linux32-time64' into release-4.1
a760a74abf Tests: Optionally skip tests requiring 64-bit time_t
14e21fa992 bootstrap: Compile with 64-bit time_t on 32-bit Linux if possible

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10951
2025-07-21 10:02:24 -04:00
Kitware Robot
b419a1de15 CMake Nightly Date Stamp 2025-07-21 00:07:28 -04:00
Kitware Robot
83e06f09ab CMake Nightly Date Stamp 2025-07-20 00:11:46 -04:00
Kitware Robot
eb56394c9d CMake Nightly Date Stamp 2025-07-19 00:04:55 -04:00
Peter Kokot
934567de19 CMAKE_DL_LIBS: Update documentation 2025-07-18 22:39:18 +02:00
Kitware Robot
b52ea487d7 CMake Nightly Date Stamp 2025-07-18 00:04:30 -04:00
Kitware Robot
58fc19e5c4 CMake Nightly Date Stamp 2025-07-17 00:04:37 -04:00
Brad King
a760a74abf Tests: Optionally skip tests requiring 64-bit time_t
On some platforms, `time_t` is always 32-bit.  Add an explicit option
to skip tests that require 64-bit `time_t`.
2025-07-16 14:28:43 -04:00
Brad King
14e21fa992 bootstrap: Compile with 64-bit time_t on 32-bit Linux if possible
Extend commit 1b9e8f833f (Linux: Compile with 64-bit time_t even on
32-bit architectures, 2025-06-26, v4.1.0-rc2~16^2) to `bootstrap`.
2025-07-16 14:28:39 -04:00
Brad King
369c36503d Merge topic 'export-use-subcommand'
998495cb49 cmExportCommand: Port to cmSubcommandTable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Vito Gamberini <vito.gamberini@kitware.com>
Merge-request: !10947
2025-07-16 13:49:00 -04:00
Taylor Sasser
998495cb49 cmExportCommand: Port to cmSubcommandTable
Previously, the `cmExportCommand` parser did not use `cmSubcommandTable`
to distinguish between its `TARGETS`, `EXPORT`, `SETUP`, and `PACKAGE`
modes.  This created a maintenance burden when updating or adding
functionality.

Refactor the parser to use a subcommand for each keyword.  This new
structure mirrors the design of `cmInstallCommand` and simplifies future
development.
2025-07-16 11:33:48 -04:00
Brad King
1f9de0c82d Merge topic 'cmake-parent-fix'
41aea12941 Do not define CMAKE_PARENT_LIST_FILE in CMakeLists.txt

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10930
2025-07-16 11:27:00 -04:00
Peter Kokot
59da6d9e5c TestBigEndian, CMAKE_<LANG>_BYTE_ORDER: Update documentation
- Fixed typo in the module description.
- Added examples section highlighting the code migration towards the
  `CMAKE_<LANG>_BYTE_ORDER` variable.
- Documented command similar to other modules.
- Added examples for the `CMAKE_<LANG>_BYTE_ORDER` variable and
  explained when endianness for different languages can be used.
2025-07-16 14:55:48 +02:00
Kitware Robot
47df2a940a CMake Nightly Date Stamp 2025-07-16 00:04:38 -04:00
Benjamin Buch
41aea12941 Do not define CMAKE_PARENT_LIST_FILE in CMakeLists.txt
Add policy `CMP0198` for compatibility.

Issue: #25026
2025-07-15 11:51:45 -04:00
Brad King
f19fa50b48 Merge topic 'string-json-better-error'
35f002e293 string(JSON): Include invalid JSON in parse error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10944
2025-07-15 10:56:02 -04:00
Brad King
d4306378b9 Merge topic 'freebsd_linker_variables'
7ae11ea4e7 Platform: Add compiler platform modules for BSDs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10919
2025-07-15 10:54:13 -04:00
Brad King
5af73a467f Merge branch 'release-4.1' 2025-07-15 10:50:44 -04:00
Brad King
a584d962d1 Merge topic 'code-check-ninja-path-fix'
baa74ed677 clang-tidy: Use cleaner path to export-fixes file with Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !10946
2025-07-15 10:50:44 -04:00
Brad King
8fcf7f5f89 Merge topic 'code-check-ninja-path-fix' into release-4.1
baa74ed677 clang-tidy: Use cleaner path to export-fixes file with Ninja

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Eduard Voronkin <edward.voronkin@gmail.com>
Merge-request: !10946
2025-07-15 10:50:42 -04:00
Brad King
0b1dace035 Merge topic 'codemodel-version-directory-target-objects'
4315076f2e fileapi: Add codemodelVersion fields to target and directory objects

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10928
2025-07-15 10:47:42 -04:00
Vito Gamberini
baa74ed677 clang-tidy: Use cleaner path to export-fixes file with Ninja
The clang-tidy "export-fixes" flag was using unconverted Ninja paths due
to a flipped boolean check from commit 993dde925f (TargetGenerator:
Factor out generation of code check rules, 2023-05-12,
v3.27.0-rc1~84^2~2).
2025-07-15 10:46:10 -04:00
Martin Duffy
21ac285cd8 Experimental: Update the Instrumentation UUID
Update experimental UUID for instrumentation after commit afa94bae1e
(instrumentation: Rename queries field to options, 2025-07-08) broke compatibility
for old queries.
2025-07-15 08:38:44 -04:00
Kitware Robot
2c3f83a164 CMake Nightly Date Stamp 2025-07-15 00:04:26 -04:00
Martin Duffy
9dec460c8c instrumentation: Store CDash settings in query files
Adds new `cdashSubmit` and `cdashVerbose` options to allow enabling
instrumentation in CDash submissions using query files or the
`cmake_instrumentation` command.

Fixes: #26783, #26727
2025-07-14 15:44:52 -04:00
Brad King
e82da297d4 Merge topic 'file-api-version-int-vars'
892fa0bb88 fileapi: Use unsigned int consistently for version numbers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !10945
2025-07-14 10:13:58 -04:00
Brad King
263c76a0cd Merge topic 'file-GLOB-CONFIGURE_DEPENDS-verbose'
9f28c02056 file(GLOB): Make CONFIGURE_DEPENDS mismatch more verbose

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10939
2025-07-14 09:35:09 -04:00
Brad King
69be3e5dc7 Merge topic 'doc_default_working_dir'
72bb891348 Help: Document WORKING_DIRECTORY default behavior missing in some commands

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10902
2025-07-14 09:33:49 -04:00
Brad King
8815ed41ab Merge topic 'cpack-wix-long-paths'
f0f1d6e147 CPack/WiX: Encode long paths with UNC prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10929
2025-07-14 09:31:52 -04:00
Kitware Robot
07f4179b81 CMake Nightly Date Stamp 2025-07-14 00:04:40 -04:00
Vito Gamberini
f61768107e find_package: Implement UNWIND_INCLUDE
This implements a limited exception mechanism for find_package() via
the UNWIND_INCLUDE keyword.

When package discovery via find_package(UNWIND_INCLUDE) fails the
StateSnapshot is updated to an UNWINDING state. In this state further
calls to find_package() and include() are forbidden. While in the
UNWINDING state, the include() command immediately calls
SetReturnInvoked() whenever it is reached.

The UNWINDING state is reset when a parent call to find_package() is
reached.

Fixes: #26897
2025-07-13 16:08:19 -04:00
Craig Scott
4315076f2e fileapi: Add codemodelVersion fields to target and directory objects
This will allow JSON schemas for these two types of files to describe the
version-specific content without requiring any outside information.

Fixes: #27031
2025-07-13 14:59:03 +10:00
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
2839c3a933 CMake Nightly Date Stamp 2025-07-13 00:04:34 -04:00
Undefine
7ae11ea4e7 Platform: Add compiler platform modules for BSDs
These set variables required for CMAKE_LINKER_TYPE to work

Fixes: #27037
2025-07-12 21:36:42 +02:00
Kitware Robot
7fcc90c99c CMake Nightly Date Stamp 2025-07-12 00:04:32 -04:00
Martin Duffy
35f002e293 string(JSON): Include invalid JSON in parse error 2025-07-11 11:16:39 -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