Commit Graph

65737 Commits

Author SHA1 Message Date
Ben Boeckel 5bbd2c12db Help/cmake-cxxmodules: describe the compilation strategy 2024-04-11 10:19:43 -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
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
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
Brad King c77b2c14c7 Merge topic 'cxx26_fix'
f21dbf8f26 C++26: Fix C++/CUDA/HIP compile feature support
c7cbe57e1f Clang: Fix detection of C++26 when targeting MSVC ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9372
2024-04-09 08:47:20 -04:00
Raul Tambre f21dbf8f26 C++26: Fix C++/CUDA/HIP compile feature support
In commit f808d8afb9 (CMake: Support upcoming C++26 language level,
2022-08-19, v3.25.0-rc1~218^2) we forgot some necessary scaffolding.

Fixes: #25819
2024-04-09 11:38:59 +03:00
Brad King c7cbe57e1f Clang: Fix detection of C++26 when targeting MSVC ABI
`_MSVC_LANG` may not be defined higher than C++20, but `__cplusplus` is.
2024-04-09 11:38:51 +03: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
Brad King a3d067ba6b Merge topic 'test-pkg-config-gobject-introspection'
870500a326 Tests: Update RunCMake.FindPkgConfig gobject-introspection expectation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9405
2024-04-08 18:11:36 -04:00
Brad King 679a57c10e Merge topic 'test-compile-features'
31acc90abe ci: Record expected C and CXX language standard support
c37e279014 Tests/CompileFeatures: Cover c_std_## and cxx_std_## meta-features
58cd9ee03c Tests/CompileFeatures: Factor out headers to compute C and C++ standard levels

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9401
2024-04-08 18:10:58 -04:00
Vladimir Petko 870500a326 Tests: Update RunCMake.FindPkgConfig gobject-introspection expectation
gobject-introspection 1.79+ uses binaries with an arch-specific prefix,
such as `/usr/bin/x86_64-linux-gnu-g-ir-scanner`.

Fixes: #25865
2024-04-08 18:09:59 -04:00
Brad King 4022b969be Merge topic 'lang-std-levels'
80a5a86514 GNU: Fix detection of C++ 11 mode in GCC 4.{4,5,6}
c9cc3dc646 PGI: Fix detection of C++ 14/17 modes
7f05d472a2 NVHPC: Fix detection of C++ 20 mode on NVHPC < 22.7
3587579f34 XL/XLClang: Fix detection of C++ 14 mode on Linux
863cde8c19 Intel: Fix detection of C++ 14/17 modes on Linux/macOS
1e774a86d3 Intel: Fix detection of C++ 17/20 modes on Windows
b9d4db7098 CompilerId: Clarify C and C++ standard level detection
ae18811f2e IntelLLVM: Add C standard flags on Windows
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9412
2024-04-08 18:09:36 -04:00
Brad King ac40982134 Merge topic 'ci-cuda-12.2'
c7a97873c8 ci: add jobs testing cuda12.2 with nvcc and clang 18
fa57e52360 ci: add cuda12.2 base image

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9410
2024-04-08 18:08:44 -04:00