Commit Graph

66726 Commits

Author SHA1 Message Date
Kitware Robot 587a3b41ba CMake Nightly Date Stamp 2024-07-20 00:01:37 -04:00
Brad King d146baa556 Merge branch 'release-3.30' 2024-07-19 10:05:51 -04:00
Brad King e544859c8d Merge topic 'ci-cmake-update'
927300d4a0 ci: Update CMake version to 3.30.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9671
2024-07-19 10:05:51 -04:00
Brad King 39e8f67a2f Merge topic 'ci-cmake-update' into release-3.30
927300d4a0 ci: Update CMake version to 3.30.1

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9671
2024-07-19 10:05:49 -04:00
Brad King f99e6101d0 Merge topic 'cmMakefile-refactoring'
62bb8a77a5 cmMakefile: Teach ConfigureFile to move the temp file instead of copying it
dc38f81237 cmSystemTools: Revise MoveFileIfDifferent to return cmsys::Status
0a0a826b86 cmMakefile: Use find_if instead of manual loop
e0294fa310 cmMakefile: Replace single-char string literal with char for cmStrCat
206961bc60 cmMakefile::FormatListFileStack: Refactor "manual" loop into algorithms
2e16b58b7c cmStringAlgorithms: Move generic strings join function to public API
ce991188f3 cmMakefile::FormatListFileStack: Exit early on empty stack trace
29fb605822 cmMakefile::FormatListFileStack: Refactor 'while' into 'for'
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9635
2024-07-19 10:05:03 -04:00
Brad King fb303f6086 Merge topic 'FindCUDAToolkit-clear-failure'
8f974011ea FindCUDAToolkit: Allow new search locations after failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9650
2024-07-19 10:04:17 -04:00
Brad King a444929cf4 Merge topic 'autogen-ui-rebuild'
5363bebc1e Autogen: Fix compilation of unchanged source files
68ea116380 Autogen: Fix autogen test separation bugs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9660
2024-07-19 10:01:43 -04:00
Brad King 4e867bab6c Merge topic 'ctest-failure-summary-labels'
49e9f817de ctest: Display test labels in failure summary

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9652
2024-07-19 09:56:58 -04:00
Brad King a8d8f26828 Merge topic 'aix-archive-shared-libraries'
d27fe9dfba AIX: Add option to archive shared libraries
98013ad1ca cmXCOFF: Add support for editing binary inside an archive

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9606
2024-07-19 09:55:58 -04:00
Kitware Robot c7fca321b9 CMake Nightly Date Stamp 2024-07-19 00:01:14 -04:00
Alex Turbov 62bb8a77a5 cmMakefile: Teach ConfigureFile to move the temp file instead of copying it
In the variables substitution mode `cmMakefile::ConfigureFile`
was copy file and then remove temporary rendered file.

With updated signature of `MoveFileIfDifferent` it can be used
instead of `CopyFileIfDifferent`.
2024-07-18 10:29:47 -04:00
Alex Turbov dc38f81237 cmSystemTools: Revise MoveFileIfDifferent to return cmsys::Status
Help callers recover errors without relying on global state.
2024-07-18 10:29:47 -04:00
Alex Turbov 0a0a826b86 cmMakefile: Use find_if instead of manual loop
...in the `cmMakefile::ValidateCustomCommand()` as it was a warning
issued by `clang-tidy`.
2024-07-18 10:29:47 -04:00
Alex Turbov e0294fa310 cmMakefile: Replace single-char string literal with char for cmStrCat
Also, remove redundant quote escapes.
2024-07-18 10:29:46 -04:00
Alex Turbov 206961bc60 cmMakefile::FormatListFileStack: Refactor "manual" loop into algorithms 2024-07-18 10:29:46 -04:00
Alex Turbov 2e16b58b7c cmStringAlgorithms: Move generic strings join function to public API
Move `cmJoinImpl` from `cmStringAlgorithms.cxx` to the
`cmStringAlgorithms.h` as `cmJoinStrings`.  Two existing overloads are
not suitable for reverse iterators due to the hardcoded type of the
first parameter.

The signature is similar to the generic (template) `cmJoin`.  With
`enable_if` "magic", `cmJoinString` could be renamed to `cmJoin` in the
future.

Also, replace `getJoinedLength` with `std::accumulate`.
2024-07-18 10:29:46 -04:00
Alex Turbov ce991188f3 cmMakefile::FormatListFileStack: Exit early on empty stack trace
And deindent the rest of the function.
2024-07-18 10:29:46 -04:00
Alex Turbov 29fb605822 cmMakefile::FormatListFileStack: Refactor 'while' into 'for' 2024-07-18 10:29:46 -04:00
Alex Turbov b8fb4b778c cmMakefile::ConfigureFile: Convert 'else' block to early return and deindent 2024-07-18 10:29:46 -04:00
Alex Turbov d4faff52d3 cmMakefile: strnspn => std::strnspn 2024-07-18 10:29:45 -04:00
Alex Turbov 1df30b6bf2 cmMakefile: Use cmStrCat instead of std::stringstream 2024-07-18 10:29:45 -04:00
Alex Turbov 33986a1c60 cmMakefile: Remove redundant << stream operators 2024-07-18 10:29:45 -04:00
Alex Turbov b9a5a2b494 cmMakefile: Replace ternary with bool => int cast 2024-07-18 10:29:45 -04:00
Brad King 927300d4a0 ci: Update CMake version to 3.30.1 2024-07-18 09:59:36 -04:00
Brad King d39b8044b6 Merge branch 'release-3.30' 2024-07-18 09:48:21 -04:00
Brad King cd386f6425 CMake 3.30.1 v3.30.1 2024-07-18 09:13:21 -04:00
Brad King de8e176113 Merge topic 'parallel-install'
159ba027b9 Install: Add parallel installation option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9611
2024-07-18 09:04:47 -04:00
Brad King 0db6a72651 Merge topic 'doc-compile'
4b9ed91424 Help: check_*source_compiles and CMAKE_TRY_COMPILE_TARGET_TYPE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9641
2024-07-18 09:02:05 -04:00
Brad King 078eb8d79d Merge topic 'FindCUDAToolkit-windows-only'
973b019363 FindCUDAToolkit: Refactor search windows only search directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9648
2024-07-18 09:01:16 -04:00
Brad King 89dc9a6c41 Merge topic 'ninja-custom-target-build-event-dollar'
c3c14f04f2 Ninja: Fix build event commands with $-sign on custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9662
2024-07-18 09:00:30 -04:00
Brad King 4221d6b220 Merge topic 'implicit-link-static'
b3c9b317ff CMakeParseImplicitLinkInfo: Honor gfortran -static-libquadmath flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9664
2024-07-18 08:59:13 -04:00
Brad King 2168a354bf Merge branch 'release-3.30' 2024-07-18 08:57:48 -04:00
Brad King f2e52b3124 Merge topic 'vs-cuda'
a9210a0c02 VS: Restore support for CUDA with no optimization flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9666
2024-07-18 08:57:48 -04:00
Brad King 07c1287c87 Merge topic 'vs-cuda' into release-3.30
a9210a0c02 VS: Restore support for CUDA with no optimization flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9666
2024-07-18 08:57:47 -04:00
Brad King 04dba758e5 Merge branch 'release-3.30' 2024-07-18 08:56:32 -04:00
Brad King 24f3862628 Merge topic 'macos-curl-backend'
f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9663
2024-07-18 08:56:32 -04:00
Brad King d12c3e711d Merge topic 'macos-curl-backend' into release-3.30
f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9663
2024-07-18 08:56:30 -04:00
Kitware Robot 9e6690abeb CMake Nightly Date Stamp 2024-07-18 00:01:11 -04:00
Wim Colgate 49e9f817de ctest: Display test labels in failure summary
In a complex test environment, there may be a desire to add a test
property label to indicate context. Here is one such example:

    set_property(TEST mygoofytest PROPERTY LABELS might-fail-on-config-change)

Upon looking at the failed test summary, one can quickly decide whether
the failure might be expected or not.

    198 - mygoofytest (Failed)                might-fail-on-config-change
2024-07-17 13:56:01 -04:00
Orkun Tokdemir 5363bebc1e Autogen: Fix compilation of unchanged source files
Since generated `ui` headers are added as byproducts of the autogen
target, it causes to compilation of unchanged files.

This commits adds generated `ui` headers to byproducts of the
timestamp target instead of the autogen target's.

Fixes: #25436
Fixes: #26135
2024-07-17 18:12:04 +02:00
Orkun Tokdemir 68ea116380 Autogen: Fix autogen test separation bugs
When 6ee5c431 is merged, `autogen_test_number`
is put into the wrong scope. The problem is that RunCmake.Autogen_Qt5_X
tests are created only Qt6 prefix is provided. This commit moves it to
the upper scope.

Fix Xcode specific bug where `foreach(exe IN ITEMS Moc Uic Rcc)` should
be removed.
2024-07-17 18:12:04 +02:00
scivision 4b9ed91424 Help: check_*source_compiles and CMAKE_TRY_COMPILE_TARGET_TYPE
Ref: #26103
2024-07-17 11:56:26 -04:00
Aditya Vidyadhar Kamath d27fe9dfba AIX: Add option to archive shared libraries
Add option `CMAKE_AIX_SHARED_LIBRARY_ARCHIVE`.

There will no versions for the shared objects when this option is used.

Closes: #26033
2024-07-17 11:52:09 -04:00
Brad King a9210a0c02 VS: Restore support for CUDA with no optimization flags
Since commit 67de5b7b82 (VS: Suppress MSBuild default settings affected
by UseDebugLibraries, 2024-02-13, v3.30.0-rc1~538^2~1) we generate an
empty `Optimization` element for the host compiler when there are no C
or C++ optimization flags enabled.  The CUDA Toolkit Visual Studio
integration fails with an error if an empty string is inherited from the
host compiler's `Optimization` element.  If no CUDA optimization flags
are specified, write an explicit empty `Optimization` element for the
CUDA compiler too.

Fixes: #26144
2024-07-17 11:42:31 -04:00
Robert Maynard 973b019363 FindCUDAToolkit: Refactor search windows only search directories
Will allow us to better support layout changes going forward
2024-07-17 10:47:34 -04:00
Brad King 25abc95715 Merge topic 'LLVMFlang-aix'
e37d8e28e8 LLVMFlang: Add support for AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9661
2024-07-17 09:48:24 -04:00
Brad King b3cd795e65 Merge topic 'wasi'
68cd5281e4 WASI: Add platform modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9659
2024-07-17 09:47:30 -04:00
Brad King 046c63e376 Merge topic 'revert-autorcc-timestamp'
9ffac91e37 Autogen: Revert "Add timestamp file for CMAKE_GLOBAL_AUTORCC_TARGET"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9649
2024-07-17 09:46:29 -04:00
Dávid Péter Jánosa c3c14f04f2 Ninja: Fix build event commands with $-sign on custom targets
Fixes: #26143
2024-07-17 09:27:35 -04:00
Brad King f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend
Since commit d3cbee99e3 (macOS: Prefer building with system-provided
curl, 2024-05-09, v3.30.0-rc1~130^2~1) CMake uses the macOS-provided
curl, which uses the LibreSSL backend by default.  This exposes us to
curl issue 12525, created and fixed by the following upstream curl
commits:

* commit `bec0c5bbf` (openssl: switch to modern init for
                      LibreSSL 2.7.0+, 2023-08-07, `curl-8_3_0~201`)
* commit `9f2d2290d` (openssl: re-match LibreSSL deinit with init,
                      2023-12-15, `curl-8_6_0~219`)

Work around the bug by preferring the secure-transport backend by
default on the problematic versions of curl.
2024-07-17 09:13:26 -04:00