Commit Graph

35706 Commits

Author SHA1 Message Date
Brad King 631934633d Merge topic 'update-kwsys'
b2081e3810 Merge branch 'backport-kwsys-ConsoleBuf-windows-terminal' into update-kwsys
98dd754b62 KWSys: ConsoleBuf: Fix test case when running under Windows Terminal
a151fdda01 Merge branch 'upstream-KWSys' into update-kwsys
c6ef3299d0 KWSys 2024-05-28 (0d6eac1f)

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9553
2024-05-29 08:30:11 -04:00
Kitware Robot d636cd2ba9 CMake Nightly Date Stamp 2024-05-29 00:01:17 -04:00
Brad King a151fdda01 Merge branch 'upstream-KWSys' into update-kwsys
# By KWSys Upstream
* upstream-KWSys:
  KWSys 2024-05-28 (0d6eac1f)
2024-05-28 09:07:40 -04:00
Kitware Robot 50dcac2b67 CMake Nightly Date Stamp 2024-05-28 00:01:12 -04:00
Kitware Robot ffa5d7d497 CMake Nightly Date Stamp 2024-05-27 00:02:47 -04:00
Kitware Robot a2b3d3c592 CMake Nightly Date Stamp 2024-05-26 00:01:15 -04:00
Kitware Robot 36733882be CMake Nightly Date Stamp 2024-05-25 00:01:14 -04:00
Brad King 7b38a1dee7 Merge topic 'genex-compiler-frontend-variant'
af81b8667e GenEx: Add generator expr. for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT
8a11a39c51 Help: Use correct programming language names in docs of generator expr.

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9538
2024-05-24 10:31:52 -04:00
Brad King 1d519cf796 Merge topic 'ninja-parallel'
0e5250e63c Ninja: Add option for parallel install
daeb8fffa2 Help: Add Builtin Targets section to Ninja help

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9505
2024-05-24 10:29:57 -04:00
Kitware Robot 97b1401c3e CMake Nightly Date Stamp 2024-05-24 00:01:11 -04:00
Martin Duffy 0e5250e63c Ninja: Add option for parallel install
Adds the global property ``INSTALL_PARALLEL`` to enable a parallel install
target for Ninja.

Fixes: #25459
2024-05-23 09:54:19 -04:00
Kitware Robot f0074159d7 CMake Nightly Date Stamp 2024-05-23 00:01:10 -04:00
Deniz Bahadir af81b8667e GenEx: Add generator expr. for CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT 2024-05-22 16:43:33 +02:00
Brad King c8c1e1a9ca Merge topic 'custom-transitive-properties'
c16acd35b3 GenEx: Add support for custom transitive link properties
b9ee79b8a1 GenEx: Add support for custom transitive compile properties
633afa0b2e cmGeneratorExpressionDAGChecker: Make config name available in constructor
e64d09a729 cmGeneratorTarget: Add GetLinkImplementationClosure mode for linking
a11cbcc268 cmGeneratorTarget: Add TransitiveProperty constructor to help some compilers
af59289904 Help: Format TARGET_PROPERTY special evaluation rules as a definition list

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: alcroito <alexandru.croitor@qt.io>
Merge-request: !9516
2024-05-22 09:20:51 -04:00
Kitware Robot 78a2bef26b CMake Nightly Date Stamp 2024-05-22 00:01:18 -04:00
Brad King c16acd35b3 GenEx: Add support for custom transitive link properties
Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a
new `TRANSITIVE_LINK_PROPERTIES` property in the target's link
closure to enable transitive evaluation of named properties through
the link closure, including entries guarded by `$<LINK_ONLY:...>`.

Fixes: #20416
2024-05-21 09:22:52 -04:00
Brad King b9ee79b8a1 GenEx: Add support for custom transitive compile properties
Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a
new `TRANSITIVE_COMPILE_PROPERTIES` property in the target's link
closure to enable transitive evaluation of named properties through
the link closure, excluding entries guarded by `$<LINK_ONLY:...>`.

Issue: #20416
2024-05-21 09:22:51 -04:00
Brad King 633afa0b2e cmGeneratorExpressionDAGChecker: Make config name available in constructor 2024-05-21 09:22:51 -04:00
Brad King e64d09a729 cmGeneratorTarget: Add GetLinkImplementationClosure mode for linking
Previously this method always returned the closure for compile-only
usage requirements.  Add an option to get the closure for linking, which
pierces `$<LINK_ONLY>`.
2024-05-21 09:22:51 -04:00
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 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
Kitware Robot 0bfffb0c98 CMake Nightly Date Stamp 2024-05-21 00:01:18 -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
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
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
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 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
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
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 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 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