Commit Graph

65755 Commits

Author SHA1 Message Date
makise-homura
8f89ecb073 Tests: Exclude more tests found to be failing on broken libc on Elbrus
Since last commit on this topic on Jan 15, 2024, nightly testing has found
some other CPack tests failing on broken libc on Elbrus, which was revealed
after transition to libuv. These tests are excluded in this condition.
2024-04-12 22:14:35 +03: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
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
Brad King
3bb04b05a5 Merge topic 'fix-cmake-mode-warnings'
f0bfcc125d cmake-mode.el: fix "docstring wider than 80 characters" warning
c1e5c9f162 cmake-mode.el: fix "no lexical-binding directive" warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9421
2024-04-12 09:29:52 -04:00
Brad King
d616df8ad1 Merge topic 'aix-export-tdata'
b4d1ab42b8 AIX: Consider tdata symbols in ExportImportList

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9422
2024-04-12 09:28:46 -04:00
Brad King
a2efb32667 Merge topic 'doc-regex-classes'
dc7a810a75 Help: Clarify documentation on regex character classes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9419
2024-04-12 09:27:38 -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
5ebcf96170 Tests: Add COMPATIBLE_INTERFACE_ cases for library targets
The transitive (or not) behavior of these properties depends on the
target type.  Add cases for STATIC, OBJECT, and INTERFACE libraries.
2024-04-11 17:02:52 -04:00
Brad King
f4249cf86f Tests: Add COMPATIBLE_INTERFACE_NUMBER_{MAX,MIN} transitive-only cases 2024-04-11 16:48:21 -04:00
David Tenty
b4d1ab42b8 AIX: Consider tdata symbols in ExportImportList
Thread-local variables are put in the tdata section on AIX / XCOFF [1]. Unfortunately
the ExportImportList script currently doesn't consider this section when looking for
symbols to export.

This results in linking failures in applications (such as LLVM) when building which expect these thread local variables to be exported from their shared libraries.

[1]: https://www.ibm.com/docs/en/aix/7.3?topic=formats-xcoff-object-file-format
2024-04-11 12:18:41 -04:00
Konstantin Kharlamov
f0bfcc125d cmake-mode.el: fix "docstring wider than 80 characters" warning
Fixes:
    In cmake-help:
    cmake-mode.el:492:2: Warning: docstring wider than 80 characters
2024-04-11 18:24:18 +03:00
Konstantin Kharlamov
c1e5c9f162 cmake-mode.el: fix "no lexical-binding directive" warning
Fixes:
    In toplevel form:
    cmake-mode.el:1:1: Warning: file has no ‘lexical-binding’ directive on its first line
2024-04-11 18:23:48 +03:00
Brad King
96a9dd7544 Merge branch 'release-3.29' 2024-04-11 10:45:02 -04:00
Brad King
d3190d6a73 CMake 3.29.2 v3.29.2 2024-04-11 10:12:19 -04:00
Brad King
88a0dabbeb Merge branch 'release-3.29' 2024-04-11 10:09:42 -04:00
Brad King
652c8c6a9a Merge topic 'restore-pkg-prefix-var'
0e4db17764 CMakePackageConfigHelpers: Restore undocumented PACKAGE_PREFIX_DIR variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9420
2024-04-11 10:09:42 -04:00
Brad King
df6b2a3d7d Merge topic 'restore-pkg-prefix-var' into release-3.29
0e4db17764 CMakePackageConfigHelpers: Restore undocumented PACKAGE_PREFIX_DIR variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9420
2024-04-11 10:09:41 -04:00
Brad King
0e4db17764 CMakePackageConfigHelpers: Restore undocumented PACKAGE_PREFIX_DIR variable
Revert commit 6ddf8712cd (CMakePackageConfigHelpers: Use unique variable
name for pkg prefix, 2024-03-30, v3.29.1~8^2).  It regressed existing
projects that rely on the undocumented `PACKAGE_PREFIX_DIR` variable in
package configuration files generated by `CMakePackageConfigHelpers`.

Fixes: #25873
Fixes: #25885
Issue: #25827
2024-04-11 09:23:46 -04:00
Martin Stadler
dc7a810a75 Help: Clarify documentation on regex character classes
In particular, give an example of matching `]`.
2024-04-11 08:46:37 -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
61234135e1 Merge topic 'GenerateExportHeader-clang-tidy'
461ae86e6f GenerateExportHeader: Suppress clang-tidy warning

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9418
2024-04-11 08:36:42 -04:00
Brad King
2e49a09a6b Merge branch 'release-3.29' 2024-04-11 08:35:36 -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
85f501ed59 Merge topic 'compiler-path-normalization' into release-3.29
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:34 -04:00
Brad King
99167337f3 Merge branch 'release-3.29' 2024-04-11 08:34:21 -04:00
Brad King
540090e010 Merge topic 'FindJasper-imported-target'
c6408577d6 ci: Enable FindJasper test on Fedora
28f4941bc7 ci: Add Jasper to Fedora base image
254358a91b Merge branch 'backport-FindJasper-imported-target'
4ab860c4c7 FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9415
2024-04-11 08:34:21 -04:00
Brad King
17b3051b85 Merge topic 'FindJasper-imported-target' into release-3.29
4ab860c4c7 FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9415
2024-04-11 08:34:19 -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
ClausKlein
461ae86e6f GenerateExportHeader: Suppress clang-tidy warning
Add `NOLINT` for `unconditional-preprocessor-if` in generated files.
2024-04-10 16:43:48 -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
c6408577d6 ci: Enable FindJasper test on Fedora 2024-04-10 12:21:13 -04:00
Brad King
28f4941bc7 ci: Add Jasper to Fedora base image 2024-04-10 12:20:34 -04:00
Brad King
254358a91b Merge branch 'backport-FindJasper-imported-target' 2024-04-10 12:20:24 -04:00
Kai Pastor
4ab860c4c7 FindJasper: Fix Jasper::Jasper IMPORTED_CONFIGURATIONS
In commit 6e8754c625 (FindJasper: Add IMPORTED target, 2021-10-06,
v3.22.0-rc1~20^2) this property was not set correctly.  This was
detected by `CMP0160` because the `IMPORTED` property is read-only.
2024-04-10 12:12:05 -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
1d485a8b45 Tests/RunCMake/CompilerChange: Simplify test cases 2024-04-10 11:55:30 -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
099aa4b51a Merge branch 'release-3.29' 2024-04-10 09:41:39 -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
Brad King
614ebb7375 Merge topic 'swift-fix-submodule-dependencies' into release-3.29
579472d877 Swift: Ninja: Remove module dependency for executables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9411
2024-04-10 09:41:38 -04:00
Ben Boeckel
8fd089018d Tests/RunCMake/cmake_language: test GET_EXPERIMENTAL_FEATURE_ENABLED 2024-04-10 00:56:44 -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