Commit Graph
35516 Commits
Author SHA1 Message Date
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 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
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
Brad King 24f1e7c524 Merge topic 'nolint-header-sets-and-unity'
773dc0a297 Unity: Suppress clang-tidy include checks
eb66549c7c VERIFY_INTERFACE_HEADER_SETS: Suppress clang-tidy include checks
b0773aa4f6 VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma as C-style comment

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9404
2024-04-09 08:49:14 -04:00
Kitware Robot 3f08812a6b CMake Nightly Date Stamp 2024-04-09 00:01:13 -04:00
Evan Wilde 579472d877 Swift: Ninja: Remove module dependency for executables
We shouldn't include the swiftmodule in the ninja dependency graph
unless that target emits a swiftmodule.

Fixes: #25869
2024-04-08 18:07:13 -07:00
ClausKlein 773dc0a297 Unity: Suppress clang-tidy include checks
`clang-tidy-17` adds include checks similar to IWYU.  Suppress them in
generated code.
2024-04-08 19:16:14 -04:00
ClausKlein eb66549c7c VERIFY_INTERFACE_HEADER_SETS: Suppress clang-tidy include checks
`clang-tidy-17` adds include checks similar to IWYU.  Suppress them in
generated code.
2024-04-08 19:15:21 -04:00
ClausKlein b0773aa4f6 VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma as C-style comment
In commit 6942234bf5 (VERIFY_INTERFACE_HEADER_SETS: Add IWYU pragma:
associated to verification file, 2022-10-07, v3.25.0-rc1~22^2) the
comment was added as a C++-style comment.  The feature works in C too,
so use a C-style comment.
2024-04-08 19:10:10 -04:00
Kitware Robot 05aaa09fd5 CMake Nightly Date Stamp 2024-04-08 00:02:40 -04:00
Kitware Robot 01829f4715 CMake Nightly Date Stamp 2024-04-07 00:01:13 -04:00
Kitware Robot 09dc8d5bdb CMake Nightly Date Stamp 2024-04-06 00:01:22 -04:00
Brad King c2949dbdf8 Merge topic 'ctest-invalid-arg'
304396d13c ctest: Show error on invalid ctest arguments
06cb978c1b Tests: Fix ctest flag typo in RunCMake.GoogleTest

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9383
2024-04-05 11:55:47 -04:00
Kitware Robot aefd952085 CMake Nightly Date Stamp 2024-04-05 00:01:09 -04:00
Kitware Robot 81698d9c40 CMake Nightly Date Stamp 2024-04-04 00:01:14 -04:00
Jake D'Esposito 304396d13c ctest: Show error on invalid ctest arguments
Fixes: #24227
2024-04-03 21:33:19 -04:00
Brad King a4774b0c10 CMake 3.29.1 2024-04-03 11:45:14 -04:00
Brad King 7fde843527 Merge topic 'enable_language-before-project'
97464aa970 enable_language(): Fail if called before project()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9396
2024-04-03 09:38:46 -04:00
Brad King d7733a2f9b Merge topic 'dragonfly_support'
4c70e72cae cmSystemTools: Fix compilation on DragonFly BSD

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9400
2024-04-03 09:37:28 -04:00
Kitware Robot 8982fde7a9 CMake Nightly Date Stamp 2024-04-03 00:01:15 -04:00
Charlotte Koch 4c70e72cae cmSystemTools: Fix compilation on DragonFly BSD
Define `_XOPEN_SOURCE >= 700` to make `gettimeofday()` et al. available.
2024-04-02 17:33:02 -04:00
Brad King 83ceca6678 Merge topic 'ctest-resource-lock'
85745cce7a ctest: Restore enforcement of RESOURCE_LOCK test property

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9394
2024-04-02 08:09:13 -04:00
Craig Scott 97464aa970 enable_language(): Fail if called before project()
Fixes: #25550
2024-04-02 23:00:38 +11:00
Kitware Robot fb38dd0749 CMake Nightly Date Stamp 2024-04-02 00:01:20 -04:00
Brad King 85745cce7a ctest: Restore enforcement of RESOURCE_LOCK test property
Refactoring in commit 5ff0b4ed57 (cmCTestMultiProcessHandler:
Consolidate test readiness checks, 2023-10-20, v3.29.0-rc1~378^2~4)
accidentally broke `RESOURCE_LOCK`.  Fix it and replace the previous
test with one that would have caught this.

Fixes: #25843
2024-04-01 12:22:29 -04:00
Brad King 252c2a6fcb Merge topic 'add_library-no-static-fallback'
a61c9afdf8 add_library: Reject shared libraries on platforms that do not support them

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9347
2024-04-01 09:38:14 -04:00
Brad King 554a9b00c8 Merge topic 'tls-verify'
7139944264 ctest: Fall back to CMake environment variable for TLS server verification
c295df53c6 ctest: Test fallback to CMake options for TLS server verification
0d250dd021 ExternalProject: Honor CMAKE_TLS_VERIFY environment variable
e8404502b1 ExternalProject: Revise TLS_VERIFY wording to use TLS_VERSION pattern
46faaf9667 file(DOWNLOAD|UPLOAD): Add CMAKE_TLS_VERIFY environment variable
8b0169fe2b file(DOWNLOAD|UPLOAD): Add test covering CMAKE_TLS_VERIFY cmake variable
93886f5c7d file(DOWNLOAD|UPLOAD): Avoid unnecessary CMAKE_TLS_VERIFY variable lookup
bed32f400e file(DOWNLOAD|UPLOAD): Document TLS_VERSION fallback to environment variable
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9389
2024-04-01 09:37:20 -04:00
Kitware Robot 3465d14fe5 CMake Nightly Date Stamp 2024-04-01 00:02:47 -04:00
Kitware Robot 69c8ca4bc9 CMake Nightly Date Stamp 2024-03-31 00:01:10 -04:00
Brad King 7139944264 ctest: Fall back to CMake environment variable for TLS server verification
Use `ENV{CMAKE_TLS_VERIFY}` if `CTEST_TLS_VERIFY` or `CMAKE_TLS_VERIFY`
is not set.

Issue: #23608
2024-03-30 09:22:05 -04:00