Commit Graph

66291 Commits (master)

Author SHA1 Message Date
Craig Scott 7bf15e49a8
ExternalProject: Fix misleading git update output
When re-running the build with the git download method,
and where GIT_TAG is set to a tag name that we already have
locally from the first run, the second run will skip the update
step if it is already at the requested tag. The message in this
case was previously printing the commit hash instead of the
tag name, which was wrong. This wasn't noticed before
because that output wasn't usually shown, but we now do
show that message after making message output log levels
more consistent between the steps.
2024-05-17 14:23:39 +10:00
Craig Scott b2496bf14c
FetchContent: Populate directly without a sub-build
Fixes: #21703
2024-05-17 14:23:39 +10:00
Kitware Robot 603abee7af CMake Nightly Date Stamp 2024-05-17 00:01:12 -04:00
Dave Abrahams acfcce7e1b Swift: test that CMAKE_Swift_MODULE_DIRECTORY is respected. 2024-05-16 13:54:36 -07:00
Juan Ramos f9028379f7 cmAddCustomCommandCommand: Move SOURCE signature error messages
Helps readability of the code. All the SOURCE signature code is
in the else statement.
2024-05-16 09:00:30 -07:00
Brad King 0b24c94676 Modules: Fix per-language fallback to platform-specific shared module C flags
On platforms that semantically distinguish loadable modules (plugins)
from shared libraries, such as macOS and CYGWIN, fix the per-language
fall back to create them the same way as with the C toolchain even when
the C language has not been enabled.
2024-05-16 11:47:01 -04:00
Brad King ae1d5ef47f Modules: Initialize per-language platform-specific flag variables consistently
The `Platform/<OS>.cmake` modules record platform-specific flag
variables for the C toolchain.  The `CMake<LANG>Information` modules
initialize the per-language platform-specific flag variables to defaults
copied from C.  However, they have diverged over time, and not all
platform-specific flag variables are initialized correctly for all
languages.  Factor out the CXX language's instance of this logic into a
helper macro, and reuse it for all languages for which we previously
had the platform-specific flag variables at least partially filled out.

Previously the Fortran language's copy of this logic used
`if(NOT DEFINED <var>)` instead of just `if(NOT <var>)` to allow
`Platform/<OS>-<COMPILER_ID>-<LANG>` modules to specify empty values for
some platform-specific flag variables without being overridden.
Use this approach in the helper macro so it applies to all languages.

Fixes: #25990
2024-05-16 11:46:58 -04:00
Brad King 3f28a819ce Merge topic 'LINK_LIBRARY-Feature-properties'
6e5e7968c3 GenEx $<LINK_LIBRARY>: Add the support of properties attached to features

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9510
2024-05-16 11:27:18 -04:00
Brad King d37467e036 Merge topic 'custom-command-output-hash-character'
8d2a503c1e add_custom_command: Allow OUTPUT filenames containing a hash '#' character
b38000d774 cmGlobalXCodeGenerator: Re-implement legacy makefile path escaping
d929089687 cmGlobalXCodeGenerator: Do not use legacy makefile escaping in shell commands
d61fc2c52e cmGlobalXCodeGenerator: Migrate legacy makefile path escaping to local helper
6010e007c7 cmState: Add method to check for the Borland Makefiles generator

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9514
2024-05-16 11:24:56 -04:00
Brad King e3d6efadc6 Merge topic 'import-std-experimental-docs'
a46395df06 importstd: clarify when the experimental UUID must be available

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9522
2024-05-16 11:17:30 -04:00
Ben Boeckel 9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap
GCC (MinGW) wants to use `\n` on Windows too.

Fixes: #25974
2024-05-16 09:54:16 -04:00
Kitware Robot 9cf2aa3f20 CMake Nightly Date Stamp 2024-05-16 00:01:16 -04:00
Evan Wilde c6e52ef7f2
Swift: Support static-library try-compile type
Top-level code only works as part of executables, which breaks when
`CMAKE_TRY_COMPILE_TARGET_TYPE` is set to `STATIC_LIBRARY`. This patch
fixes the test to something agnostic between executables and libraries
while still verifying that we can import types from the standard
library.

Fixes: #25984
2024-05-15 15:10:15 -07:00
Glenn Coombs 8d2a503c1e add_custom_command: Allow OUTPUT filenames containing a hash '#' character
Most generators now support this character after escaping and quoting
cleanups over time.  Disallow it only on generators that do support it.

Fixes: #25604
2024-05-15 13:27:46 -04:00
Brad King b38000d774 cmGlobalXCodeGenerator: Re-implement legacy makefile path escaping
Apply commit d74e651b78 (Makefiles: Re-implement makefile target path
escaping and quoting, 2020-04-10, v3.18.0-rc1~334^2~1) to the Xcode
generator's legacy Makefile generation.  This adds support for '#'.
However, since we use '$(VAR)' placeholders, do not escape '$'.

Issue: #25604
2024-05-15 13:27:38 -04:00
Brad King 96028ad95c Merge topic 'test-execute_process-abnormal-exit'
151a7d63dd Tests: Cover execute_process with abnormal exit on all platforms

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9518
2024-05-15 11:52:44 -04:00
Brad King d929089687 cmGlobalXCodeGenerator: Do not use legacy makefile escaping in shell commands
The `ConvertToMakefilePath` helper is meant only for paths in `.make`
files we generate for custom commands in the legacy build system.
2024-05-15 11:41:01 -04:00
Brad King d61fc2c52e cmGlobalXCodeGenerator: Migrate legacy makefile path escaping to local helper
Also clarify the name.  It does not do any relative path conversion.
2024-05-15 11:40:31 -04:00
Brad King ea3e734f3f Merge branch 'release-3.29' 2024-05-15 10:00:42 -04:00
Brad King a426ddcdee Merge branch 'release-3.28' 2024-05-15 10:00:41 -04:00
Brad King 050bba06c1 Merge branch 'release-3.28' into release-3.29 2024-05-15 10:00:31 -04:00
Brad King 5fe52ec4e3 Merge branch 'release-3.29' 2024-05-15 09:58:50 -04:00
Brad King 2f5998c2a8 Merge topic 'cmp0037-message'
c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9519
2024-05-15 09:58:50 -04:00
Brad King 19c2f8e1f3 Merge topic 'cmp0037-message' into release-3.29
c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9519
2024-05-15 09:58:48 -04:00
Brad King 20b63a87ed Merge topic 'cmp0037-message' into release-3.28
c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9519
2024-05-15 09:58:17 -04:00
Brad King 1d72efcc64 Merge topic 'ci-nuget'
b9ea0d9f12 ci: Enable CPack NuGet generator tests in a nightly job on Windows
0d44d2ea1a ci: Add scripts to add nuget to job environment on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9521
2024-05-15 09:41:39 -04:00
Ben Boeckel a46395df06 importstd: clarify when the experimental UUID must be available
Fixes: #25980
2024-05-15 07:15:05 -04:00
Marc Chevrier 6e5e7968c3 GenEx $<LINK_LIBRARY>: Add the support of properties attached to features
Fixes: #24504, #25954
2024-05-15 10:02:36 +02:00
Kitware Robot 7220b14a2a CMake Nightly Date Stamp 2024-05-15 00:01:16 -04:00
Brad King b9ea0d9f12 ci: Enable CPack NuGet generator tests in a nightly job on Windows
Drop the environment-based heuristic.
2024-05-14 15:02:41 -04:00
Brad King 0d44d2ea1a ci: Add scripts to add nuget to job environment on Windows 2024-05-14 14:55:07 -04:00
Brad King 6010e007c7 cmState: Add method to check for the Borland Makefiles generator 2024-05-14 12:52:08 -04:00
Brad King 5d658ebcc6 Merge topic 'FindPython-WIN32-DEBUG'
c164404b2e FindPython: On Windows, Enhance python debug version support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Osyotr <zhenchik35026@gmail.com>
Merge-request: !9482
2024-05-14 10:52:49 -04:00
Brad King c773d5b436 CMP0037: Restore diagnostic message for invalid ALIAS target names
Refactoring in commit 7a4c02cb38 (cmGlobalGenerator: factor out
messaging for CMP0037, 2023-09-24, v3.28.0-rc1~39^2~7) incorrectly
switched to reporting the aliased target name instead of the invalid
name of the alias itself.

Fixes: #25979
2024-05-14 10:44:47 -04:00
Brad King a43f37a1a2 Merge branch 'release-3.29' 2024-05-14 10:27:35 -04:00
Brad King 48a1c67f63 Merge branch 'release-3.28' 2024-05-14 10:27:33 -04:00
Brad King b3958a0a5a Merge branch 'release-3.28' into release-3.29 2024-05-14 10:27:23 -04:00
Brad King 6fead686e6 Merge branch 'release-3.29' 2024-05-14 10:26:47 -04:00
Brad King 26bbee30cc Merge topic 'ExternalProject-xcode-effective-platform'
0a3caf0878 ExternalProject: Restore support for Xcode with an effective platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9517
2024-05-14 10:26:47 -04:00
Brad King 9813b9f0ad Merge topic 'ExternalProject-xcode-effective-platform' into release-3.29
0a3caf0878 ExternalProject: Restore support for Xcode with an effective platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9517
2024-05-14 10:26:46 -04:00
Brad King 065729b6d1 Merge topic 'ExternalProject-xcode-effective-platform' into release-3.28
0a3caf0878 ExternalProject: Restore support for Xcode with an effective platform

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9517
2024-05-14 10:26:01 -04:00
Brad King 8aa598a0b7 Merge topic 'help-options'
fc2bce54c7 Help: try_compile how to pass compiler options

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9512
2024-05-14 10:25:33 -04:00
Brad King 646c921ce6 Merge topic 'intel-std'
80d4bd5370 IntelLLVM: Record C++26 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9511
2024-05-14 10:24:22 -04:00
Brad King 078320c784 Merge topic 'test-vs16-v90'
71a4f052ed Tests: Avoid running VS 16+ tests when using a pre-v140 toolset

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9515
2024-05-14 10:20:44 -04:00
Brad King 151a7d63dd Tests: Cover execute_process with abnormal exit on all platforms
Use a dedicated helper program instead of a Python script.
This also avoids an interactive popup on macOS.

Fixes: #25973
2024-05-14 09:32:53 -04:00
Kitware Robot 82890c5d4a CMake Nightly Date Stamp 2024-05-14 00:01:14 -04:00
Brad King 0a3caf0878 ExternalProject: Restore support for Xcode with an effective platform
Revert commit cabad8a37f (ExternalProject: Always use $<CONFIG> for
source files, 2023-02-02, v3.27.0-rc1~550^2~3) and restore
Xcode-specific behavior intentionally preserved by commit c111d440ce
(ExternalProject: Express per-config step stamp file paths using CONFIG
genex, 2022-06-08, v3.24.0-rc1~15^2).  Unfortunately we still do not
have a test case, so leave a comment to avoid reverting this.

Issue: #23645
Issue: #23652
2024-05-13 14:41:00 -04:00
scivision 80d4bd5370 IntelLLVM: Record C++26 support 2024-05-13 11:02:04 -04:00
Brad King 71a4f052ed Tests: Avoid running VS 16+ tests when using a pre-v140 toolset 2024-05-13 10:57:27 -04:00
Brad King b56c083a54 Merge topic 'print-configure-generate-time'
29404cfd92 cmake: Capture more complete configure/generate steps in printed durations
f106df8f96 cmGlobalVisualStudio8Generator: Remove unused Configure method override

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9508
2024-05-13 09:38:03 -04:00