Commit Graph

66178 Commits

Author SHA1 Message Date
Brad King
a11cbcc268 cmGeneratorTarget: Add TransitiveProperty constructor to help some compilers
Some compilers have trouble initializing TransitiveProperty as a parent
class using an initializer list unless there is an explicit constructor:

* SunPro fails to compile
* XLClang seems to miscompile, exhibiting strange runtime behavior
2024-05-21 09:22:51 -04:00
Brad King
af59289904 Help: Format TARGET_PROPERTY special evaluation rules as a definition list 2024-05-21 09:22:51 -04:00
Brad King
886b07a41c Merge topic 'split-cmGeneratorTarget'
09c74c6d0c cmGeneratorTarget: Factor transitive property methods into own source
feaca40931 cmGeneratorTarget: Factor link interface/impl methods into own source
b4924c562a cmGeneratorTarget: Factor compatible interface properties into own source
cdd7112a5d cmGeneratorTarget: Factor options-like usage requirements into own source
881a46819e cmGeneratorTarget: Factor LINK_DIRECTORIES impl into own source
0a3c97308d cmGeneratorTarget: Factor INCLUDE_DIRECTORIES impl into own source
7ffb92022c cmGeneratorTarget: Factor SOURCES impl into own source
d0fc932528 cmGeneratorTarget: Factor TargetPropertyEntry into own source
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9536
2024-05-21 09:21:38 -04:00
Brad King
85e9025f80 Merge topic 'test-race-aix'
9ced5932cf Tests/RunCMake/CompileFeatures: Avoid intermittent failures on AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9537
2024-05-21 09:20:29 -04:00
Brad King
6c08be8ea5 Merge topic 'test-ninja-explain'
c46faaee4f Tests/RunCMake/Swift: Update for ninja post-1.12 development

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9535
2024-05-21 09:19:45 -04:00
Brad King
645ca62b1b Merge topic 'doc-macro'
67171a99be Help: Fix inaccurate use of "function" in macro docs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Juan Ramos <juan.ramos@kitware.com>
Merge-request: !9534
2024-05-21 09:17:17 -04:00
Dave Abrahams
67171a99be Help: Fix inaccurate use of "function" in macro docs 2024-05-21 09:13:57 -04:00
Kitware Robot
0bfffb0c98 CMake Nightly Date Stamp 2024-05-21 00:01:18 -04:00
Brad King
9ced5932cf Tests/RunCMake/CompileFeatures: Avoid intermittent failures on AIX
Apply the fix from commit b3245f33ef (Tests/RunCMake/install: Avoid
intermittent failures on AIX, 2024-05-10) to `RunCMake.CompileFeatures`
too.
2024-05-20 20:11:19 -04:00
Brad King
09c74c6d0c cmGeneratorTarget: Factor transitive property methods into own source 2024-05-20 19:29:15 -04:00
Brad King
feaca40931 cmGeneratorTarget: Factor link interface/impl methods into own source 2024-05-20 19:28:06 -04:00
Brad King
b4924c562a cmGeneratorTarget: Factor compatible interface properties into own source 2024-05-20 19:26:05 -04:00
Brad King
cdd7112a5d cmGeneratorTarget: Factor options-like usage requirements into own source 2024-05-20 19:24:48 -04:00
Brad King
881a46819e cmGeneratorTarget: Factor LINK_DIRECTORIES impl into own source 2024-05-20 19:23:13 -04:00
Brad King
0a3c97308d cmGeneratorTarget: Factor INCLUDE_DIRECTORIES impl into own source 2024-05-20 19:21:45 -04:00
Brad King
7ffb92022c cmGeneratorTarget: Factor SOURCES impl into own source 2024-05-20 19:20:21 -04:00
Brad King
d0fc932528 cmGeneratorTarget: Factor TargetPropertyEntry into own source 2024-05-20 19:16:57 -04:00
Brad King
abf60adfa6 cmGeneratorTarget: Move TargetPropertyEntry creation method to header 2024-05-20 19:12:53 -04:00
Brad King
ed983b1a5d cmTargetTraceDependencies: Factor out of cmGeneratorTarget 2024-05-20 19:12:19 -04:00
Brad King
ba5a1be70a Merge topic 'typo-fix-issue'
ea544235e5 Tutorial: Fix grammar typo in Step 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9529
2024-05-20 19:05:35 -04:00
Brad King
f9b85f331e Merge topic 'cmp0097-fetchcontent'
eda17e76e2 Help: Document that CMP0097 is always NEW for FetchContent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9527
2024-05-20 19:04:42 -04:00
Brad King
c46faaee4f Tests/RunCMake/Swift: Update for ninja post-1.12 development
Upstream ninja commit `8e6c741a4b` ("explain" debug prints just before
each command is run, 2022-01-06) changed the `ninja -d explain` output
for our test case.  The `IncrementalSwift-second` case primarily needs
to match stdout, so update our stderr expectation to work for either
form of ninja's output.
2024-05-20 18:53:14 -04:00
Kitware Robot
506d1752de CMake Nightly Date Stamp 2024-05-20 00:03:54 -04:00
Kitware Robot
10a50f58e9 CMake Nightly Date Stamp 2024-05-19 00:01:11 -04:00
Craig Scott
2d653179dc Merge topic 'fetchcontent-direct'
7bf15e49a8 ExternalProject: Fix misleading git update output
b2496bf14c FetchContent: Populate directly without a sub-build
173daad58d ExternalProject: Move more internal commands out of main file
462e583267 ExternalProject: Switch download, update and patch to use _EP_ vars
0ccc8e340d ExternalProject: Provide ExternalProject_Add keywords through a macro
91e1015722 ExternalProject: Don't treat YES as a keyword
a1743ce1ef ExternalProject: Fix minor formatting error

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9513
2024-05-18 05:05:03 -04:00
Kitware Robot
ff12b19786 CMake Nightly Date Stamp 2024-05-18 00:01:15 -04:00
FrankYin
ea544235e5 Tutorial: Fix grammar typo in Step 11
Fix and improve wording in the "Adding Export Configuration" step.
2024-05-17 11:25:39 -04:00
Brad King
bd79ab9e0c Merge branch 'release-3.29' 2024-05-17 11:17:05 -04:00
Brad King
123f1b7f23 Merge branch 'release-3.28' 2024-05-17 11:17:01 -04:00
Brad King
cbe26bdeda Merge branch 'release-3.28' into release-3.29 2024-05-17 11:16:54 -04:00
Brad King
321884dfec Merge branch 'release-3.29' 2024-05-17 11:16:18 -04:00
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
ea44e63a7c Merge topic 'cxxmodules-gcc-binary-mode' into release-3.29
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:16 -04:00
Brad King
32a8d5a4ac Merge topic 'cxxmodules-gcc-binary-mode' into release-3.28
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:15:38 -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
Craig Scott
eda17e76e2 Help: Document that CMP0097 is always NEW for FetchContent
Fixes: #25971
2024-05-17 14:49:53 +10:00
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
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