Commit Graph

60983 Commits

Author SHA1 Message Date
Brad King 8ebe3f92b3 cmGlobalNinjaGenerator: Detect GNU-like command-line for dyndep collator
This will help the collator choose flags and path styles for modmap
files.
2023-03-18 11:52:41 -04:00
Brad King f3ca199c9b cmGlobalNinjaGenerator: Factor out GNU-like command-line detection on Windows 2023-03-18 11:52:41 -04:00
Brad King f79817fcf0 cmCxxModuleMapper: Use value semantics in path conversion callback
The call site already owns a path it doesn't need when the callback
returns.  Hand ownership to the callback so it can optionally mutate
the path without necessarily allocating.
2023-03-18 11:52:41 -04:00
Brad King 5ab002ea11 cmCxxModuleMapper: Remove redundant path conversion callbacks
Two calls to `PathForGenerator` were applied to values returned by
`BmiGeneratorPathForModule`, that already calls `PathForGenerator`.
2023-03-18 11:52:41 -04:00
Brad King 5e5a21aadd Merge topic 'CMakePackageConfigHelpers-ARCH_INDEPENDENT' into release-3.26
6988ddf8ac WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8337
2023-03-17 07:54:16 -04:00
Brad King 970af1ca5c Merge topic 'FindMatlab-R2023a' into release-3.26
58ab34d88a FindMatlab: add version/release map for R2023a

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8334
2023-03-17 07:46:53 -04:00
Brad King 6988ddf8ac WriteBasicConfigVersionFile: Fix regression in ARCH_INDEPENDENT check
Refactoring in commit 77982de955 (CMakePackageConfigHelpers: only emit
arch check if needed, 2023-01-29, v3.26.0-rc1~16^2) did not correctly
preserve the check for empty `CMAKE_SIZEOF_VOID_P`.  Fix it.

The difference between the version files generated before and after is:

    -if(CMAKE_SIZEOF_VOID_P STREQUAL "" OR "8" STREQUAL "")
    +if("${CMAKE_SIZEOF_VOID_P}" STREQUAL "" OR "8" STREQUAL "")

This restores the check generated before the above-mentioned commit.

Fixes: #24608
2023-03-16 11:26:10 -04:00
scivision 58ab34d88a FindMatlab: add version/release map for R2023a 2023-03-16 11:08:05 -04:00
Brad King 6c71fa6d56 CMake 3.26.0 v3.26.0 2023-03-14 10:04:14 -04:00
Brad King c2b1d9bf97 Merge topic 'revert-CheckCompilerFlag-clang-argument-unused' into release-3.26
97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !8322
2023-03-14 09:29:00 -04:00
Brad King 97fcd3bd30 CheckCompilerFlag: Revert 'Match the Clang "argument unused" output ...'
Revert commit 5b45a3d0ce (CheckCompilerFlag: Match the Clang "argument
unused" output for all languages, 2023-01-23, v3.26.0-rc1~38^2).  It
broke existing projects that were silently tolerating unrelated unused
arguments in their checks for C and CXX.  For example, using
`CFLAGS=-nostdinc` or `CXXFLAGS=-nostdinc++` causes those flags to be
used when driving the linker as well, and Clang warns they are unused in
that case.

Add a test case covering the now-restored behavior.

Fixes: #24591
2023-03-13 16:18:50 -04:00
Brad King bd74679ab5 Merge branch 'release-3.25' into release-3.26 2023-03-13 14:31:47 -04:00
Brad King 2644555536 Merge branch 'backport-3.25-log-failed-compiler-id' into release-3.25
Merge-request: !8320
2023-03-13 14:31:05 -04:00
Brad King 9f54901ed9 CompilerId: Restore logging of failed identifications in CMake 3.25
Changes in commit 9c5bd7fe3a (CompilerId: Output errors from all
attempts at detection, 2022-08-16, v3.25.0-rc1~290^2) accidentally
stopped logging failed compiler identification build output.

This was fixed for CMake 3.26 and later by commit 24ccc8c3c9
(CompilerId: Restore logging of failed identifications, 2023-01-16,
v3.26.0-rc1~70^2~6).  Backport it to 3.25.
2023-03-13 14:29:50 -04:00
Brad King 8e4c849441 Merge topic 'revert-optimize-target-depends-closure' into release-3.26
685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8315
2023-03-13 09:36:01 -04:00
Brad King 685108a582 Ninja: Revert "Optimize target depends closure" due to performance regression
Revert commit 1f16af01f4 (cmGlobalNinjaGenerator: Optimize target
depends closure, 2023-01-17, v3.26.0-rc1~74^2).  It regressed generation
time for some projects.  Revert it pending further investigation.
2023-03-10 15:13:23 -05:00
Brad King 454bfa77b2 CMake 3.26.0-rc6 v3.26.0-rc6 2023-03-08 14:04:09 -05:00
Brad King 3bb826359a Merge branch 'release-3.25' into release-3.26 2023-03-08 10:35:16 -05:00
Brad King 5709a7e572 CMake 3.25.3 v3.25.3 2023-03-08 10:01:06 -05:00
Brad King db8be3b923 Merge branch 'release-3.25' into release-3.26 2023-03-08 09:50:39 -05:00
Brad King 9ee3e2cc7e Merge branch 'release-3.24' into release-3.25 2023-03-08 09:50:32 -05:00
Brad King 451d1c8b6c CMake 3.24.4 v3.24.4 2023-03-08 09:15:32 -05:00
Brad King cea9dae92a Merge topic 'revert-vs-BuildInParallel' into release-3.26
abb1c12162 VS: Revert "Build custom commands concurrently when possible"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8297
2023-03-08 08:56:28 -05:00
Brad King a7e697d5d2 Merge branch 'release-3.25' into release-3.26 2023-03-08 08:53:36 -05:00
Brad King d7481673d2 Merge topic 'file-install-macos' into release-3.26
a6f5bdd650 Merge branch 'backport-3.24-file-install-macos'
35f2b1bf5b file(INSTALL): Fix file ownership regression when running as root on macOS
a5d6548587 file(INSTALL): Fix file ownership regression when running as root on macOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8293
2023-03-08 08:52:08 -05:00
Brad King 84adf3e57f Merge branch 'release-3.24' into release-3.25 2023-03-08 07:45:25 -05:00
Brad King 24f356cd5e Merge branch 'backport-3.24-file-install-macos' into release-3.25
Merge-request: !8293
2023-03-08 07:45:15 -05:00
Brad King a6373caaec Merge branch 'backport-3.24-file-install-macos' into release-3.24
Merge-request: !8293
2023-03-08 07:44:36 -05:00
Brad King a6f5bdd650 Merge branch 'backport-3.24-file-install-macos' 2023-03-08 07:37:35 -05:00
Brad King abb1c12162 VS: Revert "Build custom commands concurrently when possible"
Since commit 33c15ae2b9 (VS: Build custom commands concurrently when
possible, 2023-01-19, v3.26.0-rc1~56^2) we add `BuildInParallel` to
custom commands in `.vcxproj` files.  However, this can break existing
projects that implicitly rely on serial execution of custom commands.
For example, custom commands in our FindCUDA module run MSVC (via nvcc)
with a common `vc*.pdb` file, and therefore cannot run in parallel.

Revert use of `BuildInParallel` while leaving most of the infrastructure
for it in place.  It can be restored later with an option or policy.

Fixes: #24576
Issue: #18405
2023-03-07 14:19:49 -05:00
Brad King 35f2b1bf5b file(INSTALL): Fix file ownership regression when running as root on macOS
Backport KWSys commit `51272e80e` (SystemTools: Avoid macOS copyfile
semantic differences as root, 2023-03-07).

Fixes: #24577
2023-03-07 11:39:58 -05:00
Brad King a5d6548587 file(INSTALL): Fix file ownership regression when running as root on macOS
Backport KWSys commit `51272e80e` (SystemTools: Avoid macOS copyfile
semantic differences as root, 2023-03-07).

Fixes: #24577
2023-03-07 11:36:25 -05:00
Brad King 5f4dad37f0 Merge topic 'clang-16-cxx-modules' into release-3.26
3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !8285
2023-03-06 08:59:20 -05:00
Brad King dcd6fe7f69 Merge branch 'release-3.25' into release-3.26 2023-03-06 08:57:17 -05:00
Brad King 9c181ad470 Merge topic 'GoogleTest-type-param-suite' into release-3.26
9aa9032266 GoogleTest: Restore suite name for type-parametrized tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8282
2023-03-06 08:53:40 -05:00
Brad King b8916bca0c Merge branch 'release-3.24' into release-3.25 2023-03-03 12:59:00 -05:00
Brad King ab7085db35 Merge branch 'release-3.23' into release-3.24 2023-03-03 12:58:40 -05:00
Brad King df18138b5b Merge branch 'GoogleTest-type-param-suite' into release-3.25
Merge-request: !8282
2023-03-03 12:58:30 -05:00
Brad King c5f0dde57c Merge branch 'GoogleTest-type-param-suite' into release-3.24
Merge-request: !8282
2023-03-03 12:58:20 -05:00
Brad King 3abd37f05d Merge branch 'GoogleTest-type-param-suite' into release-3.23
Merge-request: !8282
2023-03-03 12:57:59 -05:00
Brad King 3fe8e33f27 Clang: Record Clang 16.0 flags for our experimental C++ modules support
LLVM/Clang 16.0 now contains official support for what CMake needs.
2023-03-03 12:44:53 -05:00
Brad King 9aa9032266 GoogleTest: Restore suite name for type-parametrized tests
Fix a regression from commit 073dd1bd81 (GoogleTest: Change format for
typed tests, 2022-02-07, v3.23.0-rc1~4^2) in the suite name detection.

Co-authored-by: Evgeniy Shcherbina <ixsci@pm.me>
Fixes: #24563
2023-03-03 10:38:02 -05:00
Brad King a8b1fb7976 Merge branch 'release-3.25' into release-3.26 2023-03-03 09:26:05 -05:00
Brad King cb1b95886b Merge topic 'ExternalProject-revert-install' into release-3.26
771387523a ExternalProject: Restore driving install through build system

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8279
2023-03-03 09:22:45 -05:00
Brad King 3540e2ade6 Merge branch 'ExternalProject-revert-install' into release-3.25
Merge-request: !8279
2023-03-03 09:21:38 -05:00
Brad King cbaf334598 Merge topic 'doc-block' into release-3.26
2931f078dc Help:cmake-language: note new block() command scope

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8276
2023-03-03 09:21:16 -05:00
Brad King 771387523a ExternalProject: Restore driving install through build system
Revert commit 66b5d51f38 (ExternalProject: Install CMake projects
using 'cmake --install', 2022-09-08, v3.25.0-rc1~150^2).
It changed the ExternalProject install step command from:

    cmake --build <dir> --target install --config <cfg>

to:

    cmake --install <dir> --config <cfg>

The latter command no longer runs the external project build system
during the install step.  We could consider using the commands:

    cmake --build <dir> --target all --config <cfg>
    cmake --install <dir> --config <cfg>

as the install step, but if `CMAKE_SKIP_INSTALL_ALL_DEPENDENCY` is
used in the external project, that can change semantics too.

Revert the original change pending further investigation on other ways
to support its motivating use case.  Add a test covering the
previously-regressed use case.

Fixes: #24567
Issue: #23946
2023-03-02 14:28:26 -05:00
scivision 2931f078dc Help:cmake-language: note new block() command scope 2023-03-02 10:34:56 -05:00
Brad King 6c0b3d2b7e CMake 3.26.0-rc5 v3.26.0-rc5 2023-03-01 09:43:05 -05:00
Brad King fd05b428eb Merge topic 'check-curses-min-cmake' into release-3.26
d70582eed8 ccmake: Update minimum required version of CMake for curses check

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8272
2023-03-01 09:36:35 -05:00