Brad King
d550a1ebea
Merge topic 'cpack-innosetup-linux'
...
d4a46314ac CPack: Enable Inno Setup generator on non-Windows hosts
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !9431
2024-04-16 08:55:57 -04:00
Brad King
c5774572c1
Merge topic 'lcc-updates-2024-04'
...
8f89ecb073 Tests: Exclude more tests found to be failing on broken libc on Elbrus
b0551cce64 cmArgumentParserTypes: Workaround for ICE on e2k
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !9426
2024-04-16 08:49:25 -04:00
Brad King
1c9e514d28
Merge topic 'swift-module-libraries'
...
56e5cea600 Swift: Support module libraries with command-line build systems
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9379
2024-04-16 08:47:11 -04:00
Brad King
211fbe7759
Merge topic 'cxx-checks-tolerate-unused-arguments'
...
6a2cfbd4ea cm_cxx_features: Ignore Clang unused-argument warnings
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9427
2024-04-16 08:45:37 -04:00
Brad King
cf2a74d5c4
Merge topic 'file-GET_RUNTIME_DEPENDENCIES-macos-rpath'
...
3e865241f3 file(GET_RUNTIME_DEPENDENCIES): propagate parent rpath on macOS
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9428
2024-04-16 08:44:13 -04:00
Kitware Robot
56c8a2d33b
CMake Nightly Date Stamp
2024-04-16 00:01:13 -04:00
Andreas Oetken
d4a46314ac
CPack: Enable Inno Setup generator on non-Windows hosts
...
Innosetup tools can be run on Linux using Wine, thus there is no reason
to block this in CMake.
2024-04-15 16:34:22 -04:00
jinzhe li
6a2cfbd4ea
cm_cxx_features: Ignore Clang unused-argument warnings
...
Filter out `-Wunused-command-line-argument` warnings from Clang (that
can be caused by user-specified flags) so that they do not break our
checks for C++ feature availability.
This extends commit 71b65abca2 (C++ feature checks: Filter out warnings
caused by user flags, 2017-09-19, v3.10.0-rc1~90^2).
2024-04-15 12:09:49 -04:00
Luis Caro Campos
3e865241f3
file(GET_RUNTIME_DEPENDENCIES): propagate parent rpath on macOS
...
Fixes : #24400
2024-04-15 11:59:39 -04:00
Evan Wilde
56e5cea600
Swift: Support module libraries with command-line build systems
...
Wire up the flags needed to support module libraries built and used with
Swift. We need to pass `-bundle` to the linker when linking module
libraries on Darwin, and we need to pass `-export-dynamic` to the linker
when emitting an executable that exports symbols on Linux. This patch
wires up `CMAKE_SHARED_MODULE_CREATE_Swift_FLAGS` and
`CMAKE_SHARED_MODULE_LOADER_Swift_FLAG` on Darwin, and hooks up
`CMAKE_EXE_EXPORTS_Swift_FLAG` on Linux in order to support passing
things correctly.
We can't expose `CMAKE_EXE_LINKER_FLAGS` to Swift, as it contains flags
that the Swift compiler doesn't recognize, but the other
language-specific variables are safe to expose.
2024-04-15 08:23:39 -07:00
Brad King
e449417f94
Merge topic 'genex-cleanup'
...
895efd4e7a cmGeneratorExpression: Consolidate recognition of transitive properties
5f7d8192da cmGeneratorExpression: Inline evaluation helper at only call site
91a25de520 cmGeneratorExpression: Add comments on implementation details
0a61116f52 cmGeneratorTarget: Remove EvaluateInterfaceProperty argument default
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !9425
2024-04-15 10:16:35 -04:00
Brad King
ca449572ef
Merge topic 'cxxmodules-import-std'
...
429902ebad Clang: support creating a target for imported modules
4617f272b4 MSVC: support `import std`
62a71047bb cmGraphVizWriter: ignore `__cmake_`-prefixed targets
442086c1dc fileapi: ignore `__cmake_`-prefixed targets
ffe74289b3 CMakeDetermineCompilerId: extract C++ standard library impl
15bbd1d9b8 Experimental: add an experimental feature gate for `import std`
f80c60df02 CMakeDetermineCompilerSupport: construct C++ modules targets
19341e2582 ci: enable `import_std23` C++ module tests on MSVC
...
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !9337
2024-04-15 09:56:53 -04:00
Kitware Robot
abd572de90
CMake Nightly Date Stamp
2024-04-15 00:02:49 -04:00
Kitware Robot
5df54e2228
CMake Nightly Date Stamp
2024-04-14 00:01:11 -04:00
Kitware Robot
9ae75401d5
CMake Nightly Date Stamp
2024-04-13 00:01:24 -04:00
makise-homura
b0551cce64
cmArgumentParserTypes: Workaround for ICE on e2k
...
Original report by Ilya Kurdyukov <ilyakurdyukov@altlinux.org > from Alt Linux Team
Link: https://git.altlinux.org/gears/c/cmake.git?p=cmake.git;a=commitdiff;h=320f02347da0fe728e715a34a67e6d4d6241d132
2024-04-12 22:14:34 +03:00
Brad King
895efd4e7a
cmGeneratorExpression: Consolidate recognition of transitive properties
2024-04-12 12:24:05 -04:00
Brad King
5f7d8192da
cmGeneratorExpression: Inline evaluation helper at only call site
2024-04-12 12:23:59 -04:00
Brad King
91a25de520
cmGeneratorExpression: Add comments on implementation details
...
Clarify the purpose of some genex code that collects properties over the
transitive link closure.
2024-04-12 11:50:55 -04:00
Brad King
0a61116f52
cmGeneratorTarget: Remove EvaluateInterfaceProperty argument default
...
Pass it explicitly at the call sites.
2024-04-12 11:50:52 -04:00
Ben Boeckel
62a71047bb
cmGraphVizWriter: ignore __cmake_-prefixed targets
...
These targets are internal to CMake's C++ `import std` implementation
and should not appear.
2024-04-12 11:46:40 -04:00
Ben Boeckel
442086c1dc
fileapi: ignore __cmake_-prefixed targets
...
These targets are internal to CMake's C++ `import std` implementation
and should not appear.
2024-04-12 11:46:40 -04:00
Ben Boeckel
15bbd1d9b8
Experimental: add an experimental feature gate for import std
2024-04-12 11:46:39 -04:00
Brad King
1d31a00ee4
Merge topic 'genex-compatible-interface'
...
c94cfe92eb GenEx: Fix COMPATIBLE_INTERFACE_ evaluation outside usage requirements
061f7a6b97 GenEx: Remove redundant condition in COMPATIBLE_INTERFACE_ evaluation
86f99c5f6d GenEx: Add COMPATIBLE_INTERFACE_ implementation comments
541a788264 Tests: Add COMPATIBLE_INTERFACE_ cases outside usage requirements
5ebcf96170 Tests: Add COMPATIBLE_INTERFACE_ cases for library targets
f4249cf86f Tests: Add COMPATIBLE_INTERFACE_NUMBER_{MAX,MIN} transitive-only cases
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9423
2024-04-12 09:30:45 -04:00
Kitware Robot
af1d83c94f
CMake Nightly Date Stamp
2024-04-12 00:01:13 -04:00
Brad King
c94cfe92eb
GenEx: Fix COMPATIBLE_INTERFACE_ evaluation outside usage requirements
...
In commit ff6c401309 (cmTarget: Add interface for compatible numeric
properties, 2013-10-22, v3.0.0-rc1~460^2) the condition
dagCheckerParent && !dagCheckerParent->EvaluatingLinkLibraries()
was written that way to avoid a nullptr dereference, but is actually
meant to say "is not evaluating link libraries". That can also be true
when there is no `dagCheckerParent`, such as when evaluating a generator
expression outside of usage requirements, e.g., for `add_custom_target`.
The original commit tried to account for that by duplicating the
implementation in another code path, but that did not work in all cases.
Fix the condition, remove the duplication, and enable tests for the
now-working cases.
2024-04-11 18:35:40 -04:00
Brad King
061f7a6b97
GenEx: Remove redundant condition in COMPATIBLE_INTERFACE_ evaluation
...
The `IsLinkInterfaceDependent*Property` methods internally exclude
INTERFACE libraries since commit 0bfcb450e6 (INTERFACE_LIBRARY: Avoid
codepaths which set unneeded properties., 2013-11-20, v3.0.0-rc1~301^2~1).
2024-04-11 18:34:47 -04:00
Brad King
86f99c5f6d
GenEx: Add COMPATIBLE_INTERFACE_ implementation comments
2024-04-11 18:34:47 -04:00
Brad King
541a788264
Tests: Add COMPATIBLE_INTERFACE_ cases outside usage requirements
2024-04-11 18:34:19 -04:00
Ben Boeckel
2c8361f923
cxxmodules: link to std-providing targets when available
2024-04-11 10:19:44 -04:00
Ben Boeckel
15cd73d6c2
cmGlobalGenerator: compute target features before synthetic targets
...
For `import std;` support, CMake needs to know the standard library
involved in order to ensure that the right target is linked. Afterwards,
the created synthetic targets need their target compile features
computed.
2024-04-11 10:19:44 -04:00
Ben Boeckel
7aa1e45e56
cmStandardLevelResolver: offer an API to get the string of a level
2024-04-11 10:19:44 -04:00
Ben Boeckel
7146cf9248
cmTarget: support the CXX_MODULE_STD property
2024-04-11 10:19:44 -04:00
Ben Boeckel
3273b18972
cmExportFileGenerator: support always exporting properties
2024-04-11 10:19:43 -04:00
Brad King
431999d177
Merge topic 'xcode-deterministic-target-objects'
...
1fa2ec1bbd Xcode: Use deterministic object ids for targets
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9241
2024-04-11 08:37:54 -04:00
Brad King
fbd1091d8b
Merge topic 'compiler-path-normalization'
...
26e79ed299 Fix regression on reconfigure with unnormalized -DCMAKE_<LANG>_COMPILER=
1d485a8b45 Tests/RunCMake/CompilerChange: Simplify test cases
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Acked-by: Ashay Rane <ashay.r@gmail.com >
Merge-request: !9416
2024-04-11 08:35:35 -04:00
Brad King
409bf46562
Merge topic 'cmake_language-test-experimental-feature-query'
...
8fd089018d Tests/RunCMake/cmake_language: test GET_EXPERIMENTAL_FEATURE_ENABLED
46da8e64b0 cmCMakeLanguageCommand: use `cmExperimental::FeatureByName`
e8582abc6d cmExperimental: add support for getting a feature value from its name
Acked-by: Kitware Robot <kwrobot@kitware.com >
Tested-by: buildbot <buildbot@kitware.com >
Merge-request: !9414
2024-04-11 08:33:09 -04:00
Kitware Robot
fcdc6e6173
CMake Nightly Date Stamp
2024-04-11 00:01:16 -04:00
lapfelix
1fa2ec1bbd
Xcode: Use deterministic object ids for targets
...
When a CMake-generated Xcode project is included in another Xcode project,
the used targets' object ids are kept as `remoteGlobalIDString`.
Make the ids deterministic and somewhat independent of the build
tree location.
2024-04-10 14:33:57 -04:00
Brad King
26e79ed299
Fix regression on reconfigure with unnormalized -DCMAKE_<LANG>_COMPILER=
...
Since commit 3f2a5971c0 (Modules: CMAKE_*_COMPILER convert path to cmake
path, 2023-12-02, v3.29.0-rc1~292^2) we normalize the path to the
compiler. Update our logic that checks whether the compiler has changed
to account for path normalization.
Fixes : #25883
Issue: #25456
2024-04-10 12:03:17 -04:00
Brad King
1a315c55e3
Merge topic 'genex-cleanup'
...
50840902ce cmGeneratorExpressionDAGChecker: Simplify finding evaluation graph root
304f4c261e cmGeneratorExpressionDAGChecker: Simplify member initialization
c620d8d9cf cmGeneratorExpressionDAGChecker: Clarify COMPILE_DEFINITIONS special case
a585e410c0 cmGeneratorExpressionDAGChecker: Inline initialization in constructor
40788cb1e6 cmGeneratorExpressionDAGChecker: Reduce duplication in constructor
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !9413
2024-04-10 09:44:13 -04:00
Brad King
fbca02163b
Merge topic 'swift-fix-submodule-dependencies'
...
579472d877 Swift: Ninja: Remove module dependency for executables
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9411
2024-04-10 09:41:39 -04:00
Ben Boeckel
46da8e64b0
cmCMakeLanguageCommand: use cmExperimental::FeatureByName
2024-04-10 00:56:44 -04:00
Kitware Robot
236a664c16
CMake Nightly Date Stamp
2024-04-10 00:01:20 -04:00
Ben Boeckel
e8582abc6d
cmExperimental: add support for getting a feature value from its name
2024-04-09 20:05:19 -04:00
Brad King
50840902ce
cmGeneratorExpressionDAGChecker: Simplify finding evaluation graph root
2024-04-09 11:27:16 -04:00
Brad King
304f4c261e
cmGeneratorExpressionDAGChecker: Simplify member initialization
2024-04-09 11:27:06 -04:00
Brad King
c620d8d9cf
cmGeneratorExpressionDAGChecker: Clarify COMPILE_DEFINITIONS special case
2024-04-09 11:26:54 -04:00
Brad King
a585e410c0
cmGeneratorExpressionDAGChecker: Inline initialization in constructor
2024-04-09 11:26:53 -04:00
Brad King
40788cb1e6
cmGeneratorExpressionDAGChecker: Reduce duplication in constructor
2024-04-09 11:25:19 -04:00