Commit Graph

66137 Commits

Author SHA1 Message Date
Brad King
76fa2e8f13 Merge topic 'cxxmodules-gcc-binary-mode'
9e2f31ec23 cmCxxModuleMapper: add a query for the open mode for the modmap

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9525
2024-05-17 11:16:18 -04:00
Brad King
42e8237f35 Merge topic 'cleanup-custom-command-code'
f9028379f7 cmAddCustomCommandCommand: Move SOURCE signature error messages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9523
2024-05-17 11:14:10 -04:00
Brad King
bec54c9b38 Merge topic 'lang-platform-flags'
0b24c94676 Modules: Fix per-language fallback to platform-specific shared module C flags
ae1d5ef47f Modules: Initialize per-language platform-specific flag variables consistently

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9526
2024-05-17 11:13:09 -04:00
Brad King
27947ed75a Merge topic 'ewilde/swift-static-try-compile'
c6e52ef7f2 Swift: Support static-library try-compile type

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9520
2024-05-17 11:11:59 -04:00
Kitware Robot
603abee7af CMake Nightly Date Stamp 2024-05-17 00:01:12 -04: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