Commit Graph

36968 Commits

Author SHA1 Message Date
Brad King
640cf691fe Merge topic 'instrumentation-build-config' into release-4.0
9689155a05 instrumentation: Add Config value to snippet data
ee3a55fc48 cmMakefileGenerator: Update GetConfigName to return const reference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10300
2025-02-10 08:24:59 -05:00
Brad King
599ad2b12d Merge topic 'sunos-i386-mkdtemp' into release-4.0
4db9e1009d Solaris: Backport our mkdtemp code paths to SunOS 5.10 i386
f189e64126 Tests: Add cases covering our mkdtemp code paths

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10313
2025-02-10 08:21:01 -05:00
Brad King
ef848cdfc7 cmake: Add default CA path /etc/opt/csw/ssl/certs on Solaris
Extend commit 0abd3e538e (cmake: Use a default CA path when not using
system curl, 2015-01-22, v3.2.0-rc1~66^2) to cover Solaris with OpenCSW.
2025-02-09 13:31:07 -05:00
Brad King
4db9e1009d Solaris: Backport our mkdtemp code paths to SunOS 5.10 i386
`mkdtemp` is not available on this architecture until SunOS 5.11.
Look up the symbol at runtime, and if missing, fall back to an
approximate implementation.
2025-02-09 13:29:39 -05:00
Martin Duffy
9689155a05 instrumentation: Add Config value to snippet data 2025-02-09 12:29:09 -05:00
Martin Duffy
ee3a55fc48 cmMakefileGenerator: Update GetConfigName to return const reference 2025-02-09 12:29:08 -05:00
Aditya Vidyadhar Kamath
ff03db6657 AIX: Add platform id variables 'AIX' and 'CMAKE_HOST_AIX'
This allows projects to use `if(AIX)` blocks instead of spelling
out `if(CMAKE_SYSTEM_NAME STREQUAL "AIX")`.  We already have similar
variables for many other platforms.
2025-02-07 11:10:43 -05:00
Brad King
e74ff65385 Merge topic 'instrumentation-make-hooks' into release-4.0
314440c320 instrumentation: Run preBuild and postBuild hooks before and after make
6598248da7 instrumentation: Avoid busy-wait on postBuild hook
f8339cb944 instrumentation: Enable tests on more Makefile generators
0fbb927bdd instrumentation: Disable preBuild and postBuild hooks on Windows
a13be1301f Tests/RunCMake/Instrumentation: Improve quoting and escaping in CMake code

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10295
2025-02-07 08:32:04 -05:00
Brad King
fc18e51970 Merge topic 'update-kwsys' into release-4.0
a78db45626 Merge branch 'upstream-KWSys' into update-kwsys
1a8650a908 KWSys 2025-02-07 (60bb82bc)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10299
2025-02-07 08:19:53 -05:00
Brad King
a78db45626 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-02-07 (60bb82bc)
2025-02-07 07:16:44 -05:00
Brad King
ae68964f5d Merge topic 'multiline-cache-help' into release-4.0
637a0f7ed4 cmCacheManager: Prevent corruption from multiline help strings

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10290
2025-02-06 10:39:11 -05:00
Martin Duffy
314440c320 instrumentation: Run preBuild and postBuild hooks before and after make
Updates the preBuild and postBuild instrumentation hooks to run before and
after make is invoked.
2025-02-06 09:49:09 -05:00
Martin Duffy
6598248da7 instrumentation: Avoid busy-wait on postBuild hook 2025-02-06 07:46:09 -05:00
Martin Duffy
0fbb927bdd instrumentation: Disable preBuild and postBuild hooks on Windows
The implementation does not work on Windows.

Issue: #26668
2025-02-06 07:46:09 -05:00
Brad King
11312f83ed Begin 4.0 release versioning 2025-02-05 11:42:04 -05:00
Brad King
7065e7a555 Merge topic 'instrumentation-build-hooks'
2680f30caf instrumentation: Allow multiple CALLBACK arguments
fc1d55f6a5 instrumentation: Add preBuild and postBuild hooks for ninja
f62a4ab2ee instrumentation: Refactor cmInstrumentation constructor and usage
c57d1752d4 cmUVProcessChain: Add Detached option for spawning daemons

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10230
2025-02-05 09:08:33 -05:00
Brad King
0a17f39596 Merge topic 'cpack-archive-name'
7c825fd15f cpack: Respect CPACK_ARCHIVE_FILE_NAME for non-component packages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex Turbov <i.zaufi@gmail.com>
Merge-request: !10287
2025-02-05 09:06:47 -05:00
Brad King
5723863444 Merge topic 'ctest-configure-refactoring'
b0e92f4a70 cmCTestConfigureCommand: Remove handler usage
c78d714ecc cmCTestConfigureCommand: Refactor command execution
e52eada2c2 cmCTestConfigureCommand: Refactor command line construction
fda055c260 cmCTestConfigureHandler: Move class into cmCTestConfigureCommand.cxx
509b2cca66 cmCTest: Extract utility functions from cmCTestGenericHandler
8d4743b9e9 cmCTestBuildHandler: Store path of temporary log file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10253
2025-02-05 09:05:23 -05:00
Brad King
bc093eefab Merge topic 'ctest-subprocess'
cb5f136c66 ctest: Prevent infinite loop in ctest_run_script(NEW_PROCESS)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10286
2025-02-05 09:03:08 -05:00
Brad King
06278ed352 Merge topic 'llvm-rc'
a25a4abc01 llvm-rc: Fix regression on .rc sources with LLVM/Clang tooling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10285
2025-02-05 09:00:30 -05:00
Kitware Robot
b11085c2be CMake Nightly Date Stamp 2025-02-05 00:06:31 -05:00
Nikita Nemkin
637a0f7ed4 cmCacheManager: Prevent corruption from multiline help strings
Corruption happens when a multiline help string starts with
a newline. This causes an overflow in substr() and the whole,
unescaped help string is written to the cache file.

Multiline strings are escaped line by line. The fix is to start
searching for line break points from position 1. A break point
at zero, which triggers the overflow, could only produce
a redundant empty line.

Fixes: #9098
2025-02-05 01:26:11 +05:00
Martin Duffy
2680f30caf instrumentation: Allow multiple CALLBACK arguments
Don't require quotes around CALLBACK argument and allow it to be passed
multiple times.
2025-02-04 11:15:20 -05:00
Martin Duffy
fc1d55f6a5 instrumentation: Add preBuild and postBuild hooks for ninja
Allows instrumentation indexing and callbacks to occur at the start or end of
every `ninja` invocation.
2025-02-04 11:15:11 -05:00
Nikita Nemkin
7c825fd15f cpack: Respect CPACK_ARCHIVE_FILE_NAME for non-component packages
The variable CPACK_ARCHIVE_FILE_NAME (added in 9e06e97d30)
only works if per-component packaging is enabled. This isn't obvious
from the documentation.

Make it also work for non-component packages and adjust documentation.

Fixes: #8769
2025-02-04 20:36:10 +05:00
Nikita Nemkin
cb5f136c66 ctest: Prevent infinite loop in ctest_run_script(NEW_PROCESS)
ctest passes an internal -SR argument to inform a subprocess which
script to run. Because all arguments are propagated to the subprocess,
nested subprocess receives multiple -SR arguments and re-runs
the parent script in addition to its own, leading to a loop.

Ignore redundant -SR arguments on input and also filter out parent's
-SR argument when constructing a child process.

Fixes: #8837
2025-02-04 20:19:10 +05:00
Daniel Pfeifer
b0e92f4a70 cmCTestConfigureCommand: Remove handler usage 2025-02-04 15:59:50 +01:00
Daniel Pfeifer
c78d714ecc cmCTestConfigureCommand: Refactor command execution 2025-02-04 15:59:50 +01:00
Daniel Pfeifer
e52eada2c2 cmCTestConfigureCommand: Refactor command line construction 2025-02-04 15:59:50 +01:00
Daniel Pfeifer
fda055c260 cmCTestConfigureHandler: Move class into cmCTestConfigureCommand.cxx
Place declaration and definitions into places where following
refactoring will cause minimal deltas.
2025-02-04 15:57:39 +01:00
Daniel Pfeifer
509b2cca66 cmCTest: Extract utility functions from cmCTestGenericHandler 2025-02-04 15:57:38 +01:00
Daniel Pfeifer
8d4743b9e9 cmCTestBuildHandler: Store path of temporary log file 2025-02-04 15:57:38 +01:00
Alex Overchenko
a25a4abc01 llvm-rc: Fix regression on .rc sources with LLVM/Clang tooling
Refactoring in commit 2b2344b412 (MSVC: Add abstraction for runtime
checks, 2025-01-22) switched to using local compiler id variables to
recognize compilers that target the MSVC ABI.  However, those variables
may be modified modified in a special case for `lang == "RC"` that does
not apply to the ABI check.  Check the target ABI before applying the
special case.

Fixes: #26663
2025-02-04 09:16:02 -05:00
Brad King
8dfb1f40b7 Merge topic 'execute_process-cmd-bat'
74c9d40876 execute_process: Fix invocation of .cmd/.bat with spaces
104ca10208 cmWorkerPool: Adopt MaybePrependCmdExe calls to reduce duplication
cf7ba6d43d cmWorkerPool: Convert RunCommand signature to move semantics
c091fd1420 cmUVProcessChain: Convert AddCommand signature to move semantics
c1f6b04176 cmSystemTools: Teach MaybePrependCmdExe to always use backslashes
817b3967f8 cmSystemTools: Teach MaybePrependCmdExe to return GetShortPathNameW failure
611a3000f7 cmSystemTools: Make MaybePrependCmdExe case-insensitive
98fed0f116 cmSystemTools: Adopt MaybePrependCmdExe

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10270
2025-02-04 09:02:48 -05:00
Brad King
568a9795a6 Merge topic 'ci-fedora41-dnf-cache'
f398a517be ci: Update to rebuilt Fedora base images
e9fb64f3b7 Source: Drop incorrect class documentation that had typos
2844296c7b FindMPI: Fix typo in comment
72cce810ce ci(fedora41-hip): update the image in sync w/ `fedora41`
fa08bd803d ci(fedora41): refactor tests removal from Python packages
0e5159656a ci(fedora41): split install prerequisites and build for Rust packages
88c5cf809a ci(fedora41): split install prerequisites and build RBEnv into separate phases
86e96322eb ci(fedora41): tune RVM build to speedup and minimize the final image
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10283
2025-02-04 09:00:59 -05:00
Brad King
e2ab33d689 Merge topic 'instrumentation-ctest-find-labels'
1595713596 instrumentation: Fix expected location of Labels when using CTest launchers
d2a3d596d6 instrumentation: Fix expected location of Labels when using CTest launchers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10264
2025-02-04 08:51:11 -05:00
Kitware Robot
c10cb0fde9 CMake Nightly Date Stamp 2025-02-04 00:06:17 -05:00
Brad King
e9fb64f3b7 Source: Drop incorrect class documentation that had typos 2025-02-03 12:03:07 -05:00
Martin Duffy
f62a4ab2ee instrumentation: Refactor cmInstrumentation constructor and usage
Creates a global cmInstrumentation pointer on the CMake Instance to
prevent creating multiple instrumentation objects.
2025-02-03 10:10:06 -05:00
Martin Duffy
c57d1752d4 cmUVProcessChain: Add Detached option for spawning daemons 2025-02-03 10:10:06 -05:00
Brad King
0c5898558e Merge topic 'find-cps-components'
894f256a12 find_package: Find CPS components
ac20cd43c0 find_package: Fix reporting of transitive dependency errors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10262
2025-02-03 10:07:25 -05:00
Brad King
56ee75a135 Merge topic 'create-test-source-list-extern'
78983cb85e create_test_source_list: declare functions as `extern`

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10274
2025-02-03 10:06:12 -05:00
Brad King
74c9d40876 execute_process: Fix invocation of .cmd/.bat with spaces
The `CreateProcessW` documentation states "to run a batch file, you must
start the command interpreter".  Use `cmd /c the.bat` to run batch files.
Also, use a "short path" to the `.bat` file if needed to avoid spaces.

Previously this worked in some cases only due to undocumented behavior
of `CreateProcessW` when given a `.bat` file.

Fixes: #26655
2025-02-03 09:13:26 -05:00
Brad King
104ca10208 cmWorkerPool: Adopt MaybePrependCmdExe calls to reduce duplication 2025-02-03 09:13:26 -05:00
Brad King
cf7ba6d43d cmWorkerPool: Convert RunCommand signature to move semantics 2025-02-03 09:13:26 -05:00
Brad King
c091fd1420 cmUVProcessChain: Convert AddCommand signature to move semantics 2025-02-03 09:13:26 -05:00
Brad King
c1f6b04176 cmSystemTools: Teach MaybePrependCmdExe to always use backslashes 2025-02-03 09:13:18 -05:00
Brad King
817b3967f8 cmSystemTools: Teach MaybePrependCmdExe to return GetShortPathNameW failure 2025-02-03 09:09:29 -05:00
Martin Duffy
1595713596 instrumentation: Fix expected location of Labels when using CTest launchers 2025-02-03 09:08:44 -05:00
Brad King
611a3000f7 cmSystemTools: Make MaybePrependCmdExe case-insensitive 2025-02-03 09:05:47 -05:00