Commit Graph

37674 Commits

Author SHA1 Message Date
Brad King 0ef525208c Merge topic 'ctest-T-test-timeout' into release-4.1
9dc3edbba8 ctest: Restore default test timeout for command-line `-T Test` step
8745e6308e ctest: Restore default of no time limit for command-line `-T Test` step

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11094
2025-08-20 10:01:00 -04:00
Brad King 9dc3edbba8 ctest: Restore default test timeout for command-line -T Test step
In commit 774fcbe49c (CTest: Base command line mode on top of scripting
commands, 2024-10-05, v4.0.0-rc1~653^2) the implementation of this step
was converted to use `ctest_test` internally.  That command has its own
default test timeout of 600s if the ctest "TimeOut" configuration value
is not set.  If "TimeOut" is not set then default it to our previous
command-line mode default test timeout.

Fixes: #27139
2025-08-18 14:30:56 -04:00
Brad King 8745e6308e ctest: Restore default of no time limit for command-line -T Test step
Refactoring in commit 83845184db (cmCTest: Move timing functions from
cmCTestScriptHandler to cmCTest, 2024-10-23, v4.0.0-rc1~576^2) enabled a
time limit even if the undocumented `CTEST_TIME_LIMIT` script variable
is not set.
2025-08-18 14:10:15 -04:00
Brad King 4445478ef7 Merge topic 'pkgc-import-system-fix' into release-4.1
d5f6cf5ba8 PkgC: Only remove system paths which are exact matches
93f77d8183 PkgC: Allow system paths during IMPORT, POPULATE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !11078
2025-08-14 09:22:47 -04:00
Brad King 8fbddbc777 Merge topic 'genex-strip-nested' into release-4.1
8227028e49 string(GENEX_STRIP): Fix regression on nested generator expressions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !11077
2025-08-14 09:20:08 -04:00
Martin Duffy 8227028e49 string(GENEX_STRIP): Fix regression on nested generator expressions
Since commit 13c7bb5b0c (cmGeneratorExpression: Update strip function to
collect parsed expressions, 2025-04-08), the logic to strip generator
expressions from a string made incorrect assumptions about the contents of
generator expressions, leading certain cases to be stripped incorrectly.

Clean up the logic and fix broken behavior, and add test coverage with
`string(GENEX_STRIP)`.

Fixes: #27133
2025-08-13 15:52:16 -04:00
Brad King 914803bf31 Makefile: Fix regression that prints unnecessary VT100 escape sequences
Since commit 509c424472 (StdIo: Replace uses of KWSys Terminal with
StdIo::Print, 2025-05-08, v4.1.0-rc1~151^2~2) we print unnecessary VT100
escape sequences to establish normal text even when not intending to
print color.  In combination with `CLICOLOR_FORCE=1`, this breaks
detection of implicit link information from compiler driver output.

Fixes: #27137
2025-08-13 15:30:25 -04:00
Brad King a0a9e48f85 StdIo: Fix Terminal abstraction to avoid unnecessary VT100 escape sequences
Fix commit 329d755dbd (StdIo: Add a Terminal abstraction to print color
text, 2025-05-06, v4.1.0-rc1~151^2~3) to avoid printing a VT100 escape
sequence for normal text if we did not print any sequence initially.
We already use this approach for Windows Console text attributes.

Issue: #26924
2025-08-13 15:30:24 -04:00
Vito Gamberini d5f6cf5ba8 PkgC: Only remove system paths which are exact matches 2025-08-13 12:59:00 -04:00
Vito Gamberini 93f77d8183 PkgC: Allow system paths during IMPORT, POPULATE
Fixes: #27138
2025-08-13 11:57:09 -04:00
Brad King 2a2c2e0b26 CMake 4.1.0 2025-08-05 10:55:57 -04:00
Heiko Becker aeae5ede92 Autogen/RCC: Only pass --no-zstd to Qt6
In commit 9e87df4d46 (Autogen/RCC: Disable zstd if it is not supported,
2024-02-08, v3.29.0-rc1~5^2) we added this flag, but it doesn't exist
for Qt 5.  It was only introduced with qtbase commit `14546d1816a8`,
which first appeared in Qt 6.

Fixes: #27111
Issue: #25664
2025-08-04 13:45:14 -04:00
Brad King f4effce6a4 CMake 4.1.0-rc4 2025-07-29 10:17:43 -04:00
Brad King 21e99dbf49 install(DIRECTORY): Revert "Add EXCLUDE_EMPTY_DIRECTORIES option"
Revert commit b70ef48b27 (install(DIRECTORY): Add
EXCLUDE_EMPTY_DIRECTORIES option, 2025-04-20, v4.1.0-rc1~212^2).
The implementation had at least two problems:

* It did not exclude the top-level directory if empty.
* It did not exclude non-empty directories whose contents are
  all filtered out.

Revert the feature pending a revised implementation.

Issue: #19189
Closes: #27092
2025-07-28 14:21:09 -04:00
Brad King 2162546920 Merge topic 'curl-8.15-deprecated-sectransp' into release-4.1
00c34a7d25 cmCurl: Suppress curl 8.15 deprecation warning for curl 8.[3-5] workaround

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10971
2025-07-28 09:25:51 -04:00
Brad King 2f2ccd53c6 Merge topic 'curl-8.15-deprecated-sectransp' into release-4.0
00c34a7d25 cmCurl: Suppress curl 8.15 deprecation warning for curl 8.[3-5] workaround

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10971
2025-07-28 09:24:57 -04:00
Stepanov Igor 0b7d8e4ad6 xcode: Restore ctest --build-and-test without --build-project
Previously, it used to be possible to execute ctest --build-and-test
without specifying --build-project. When used with the Xcode generator,
this would work as long as there was only one .xcodeproj file in the
directory, where xcodebuild would then default to using that project.
The recent changes to support .xcworkspace files broke that logic, placing
a malformed pair of options "-project .xcodeproj" on the command line
instead of omitting the "-project" option altogether.

Fixes: #27090
2025-07-26 19:43:28 +10:00
Brad King 00c34a7d25 cmCurl: Suppress curl 8.15 deprecation warning for curl 8.[3-5] workaround
Curl 8.15 removed support for Secure Transport and deprecated the
corresponding `CURLSSLBACKEND_SECURETRANSPORT` constant.  We still need
the constant in a workaround for a runtime-checked range of older curl
versions.  Suppress the deprecation warning at compile time.

Fixes: #27086
2025-07-24 11:33:01 -04:00
Brad King fa3978fa85 CMake 4.1.0-rc3 2025-07-23 15:04:24 -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
Brad King 2f8ae28ef6 CMake 4.1.0-rc2 2025-07-10 10:35:07 -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
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
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
Brad King 2e76b79d80 Merge topic 'clang-cl-c23' into release-4.1
9a720d96eb clang-cl: Add support for C23

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !10916
2025-07-02 08:01:55 -04:00
Vito Gamberini 58d9950842 CPS: Fix empty configuration field on noconfig builds
Fixes: #27044
2025-07-01 17:01:13 -04:00
Yonggang Luo 9a720d96eb clang-cl: Add support for C23
Although there is no `cl -std:c23` flag, the underlying Clang compiler
does have a C23 mode we can activate by passing `-std=c23` through a
`clang-cl` wrapper flag.

Also port the fix from commit 30139913e9 (VS: Restore support for mixing
C++23 and C in one target with clang-cl, 2024-12-09, v3.31.3~10^2).

Fixes: #27038
Signed-off-by: Yonggang Luo <luoyonggang@gmail.com>
Co-authored-by: Brad King <brad.king@kitware.com>
2025-07-01 11:20:56 -04:00
Brad King 33375efebc Merge topic 'windows-old-sdk' into release-4.1
d63d3bb606 StdIo: Fix compilation on older Windows SDK versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Joe Snyder <joe.snyder@kitware.com>
Merge-request: !10918
2025-07-01 11:16:58 -04:00
Brad King 17d4eee742 Merge topic 'update-kwsys' into release-4.1
57a54d6314 Merge branch 'upstream-KWSys' into update-kwsys
d9c3dd3228 KWSys 2025-07-01 (660d6875)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10917
2025-07-01 11:11:35 -04:00
Brad King 47901f3c53 Merge topic 'ctest-fix-relative-paths' into release-4.1
f98732bea8 ctest_configure: Restore handling of relative CTEST_BINARY_DIRECTORY
5a1d5fd9be ctest_start: Restore log file location for relative CTEST_BINARY_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10912
2025-07-01 11:04:02 -04:00
Brad King 84cdf061e5 Merge topic 'ctest-fix-relative-paths' into release-4.0
f98732bea8 ctest_configure: Restore handling of relative CTEST_BINARY_DIRECTORY
5a1d5fd9be ctest_start: Restore log file location for relative CTEST_BINARY_DIRECTORY

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10912
2025-07-01 10:57:56 -04:00
Brad King 57a54d6314 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2025-07-01 (660d6875)
2025-07-01 10:46:02 -04:00
Brad King d63d3bb606 StdIo: Fix compilation on older Windows SDK versions
Define `ENABLE_VIRTUAL_TERMINAL_{INPUT,PROCESSING}` if necessary.
2025-06-30 16:51:48 -04:00
Daniel Pfeifer f98732bea8 ctest_configure: Restore handling of relative CTEST_BINARY_DIRECTORY
In commit e52eada2c2 (cmCTestConfigureCommand: Refactor command line
construction, 2025-01-28, v4.0.0-rc1~60^2~2) we switched from the
`BuildDirectory` setting, which was always an absolute path, to
`CTEST_BINARY_DIRECTORY`.  Convert it to an absolute path too.

Fixes: #27026
2025-06-30 11:06:14 -04:00
Daniel Pfeifer 5a1d5fd9be ctest_start: Restore log file location for relative CTEST_BINARY_DIRECTORY
Extend commit 3c321b6571 (cmCTestStartCommand: Inline
InitializeFromCommand function, 2024-10-17, v4.0.0-rc1~605^2~6) to
initialize BinaryDir as an absolute path.

Issue: #27026
2025-06-30 11:03:53 -04:00
Brad King c6033e7b64 Merge topic 'vs-outdated-usage' into release-4.1
bd31652e1b VS: Drop outdated usage text about appending platform to generator name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10905
2025-06-26 09:21:39 -04:00
Brad King bd31652e1b VS: Drop outdated usage text about appending platform to generator name
This was missed by commit 381c446ff7 (VS: Remove support for appending a
platform to the generator name, 2024-12-13, v4.0.0-rc1~156^2).

Issue: #26481
2025-06-24 14:23:58 -04:00
Brad King 7e0e2e6aa2 CMake 4.1.0-rc1 2025-06-24 13:23:35 -04:00
Brad King 5dd4af194e Merge topic 'vs-link-defaults' into release-4.1
99d09ec45a VS: Suppress MSBuild default link flags not specified by project or user

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10891
2025-06-19 10:20:47 -04:00
AJIOB 99d09ec45a VS: Suppress MSBuild default link flags not specified by project or user
MSBuild adds some `link` flags by default, but for CMake they may not
match what's produced by command-line generators.  If these flags are
not specified by the project or user, suppress them.

Fixes: #27004
2025-06-17 14:12:43 -04:00
Brad King ce6e309971 Begin 4.1 release versioning 2025-06-17 10:54:43 -04:00
Brad King 68eb6fb683 Merge topic 'xcode-build-workspace'
26869fb4ba cmake --build: Fix building multiple targets in Xcode workspace

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !10875
2025-06-17 09:11:48 -04:00
Brad King e227c5a9a4 Merge topic 'fix-package-metadata-arg-parsing'
bb1e00b92c cmPackageInfoArguments: Validate new arguments
0fcea1b15e cmPackageInfoArguments: Simplify argument checking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !10885
2025-06-17 09:08:05 -04:00
Kitware Robot d874008677 CMake Nightly Date Stamp 2025-06-17 00:07:36 -04:00
Kitware Robot a2dc4b4e9b CMake Nightly Date Stamp 2025-06-16 00:04:59 -04:00
Kitware Robot 48d03d011c CMake Nightly Date Stamp 2025-06-15 00:04:38 -04:00
Stepanov Igor 26869fb4ba cmake --build: Fix building multiple targets in Xcode workspace
Extend commit 844d79916a (cmake --build: Add support for driving Xcode
workspaces, 2025-06-02) to support multiple `--target` arguments.
`xcodebuild -scheme` cannot be repeated in a single call, so call it
multiple times instead.

Issue: #26958

Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2025-06-14 16:53:25 +10:00
Kitware Robot 326cd28d24 CMake Nightly Date Stamp 2025-06-14 00:04:26 -04:00