Brad King
dcbc2ef00d
CompilerId: Clarify CUDA, HIP, ObjC, ObjC++ standard level detection
...
Use named constants. Regularize comparison patterns. Follow the
approach from commit b9d4db7098 (CompilerId: Clarify C and C++ standard
level detection, 2024-04-02).
2024-04-16 15:31:36 -04:00
Brad King
cf457fbf9c
CompilerId: Drop MSVC conditions from ObjC and ObjC++
...
MSVC does not compile these languages.
2024-04-16 15:21:35 -04:00
Raul Tambre
f606a27e8d
ObjCXX: Fix detection of C++20 default compiler mode
...
Fix a typo from commit 9f3c70a333 (CUDA, CXX, OBJCXX: C++23 support with
Clang 12, 2020-12-04, v3.20.0-rc1~321^2).
2024-04-16 15:21:34 -04:00
Brad King
70413d2c35
Merge topic 'ci-updates'
...
60af764a12 ci: Reduce granularity of Intel compiler coverage for pre-2021 versions
1ffb05b9df ci: Switch to CUDA 12.2 job in merge requests
46bb949e68 ci: Run non-MR CUDA and HIP jobs only in nightly pipelines
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9432
2024-04-16 08:56:40 -04:00
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
b7c1112f77
Merge topic 'test-configure'
...
2e9742cb3d Tests/RunCMake/Configure: Improve variable scoping
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !9433
2024-04-16 08:55:01 -04:00
Brad King
8f7049112d
Merge topic 'nag-fortran-ninja'
...
4af20bb794 NAG-Fortran: Do not repeat preprocessing with Ninja on Apple platforms
91bb8dd872 NAG-Fortran: Fix MODULE library creation on Apple platforms
e056006116 NAG-Fortran: Tell the Ninja generator how to preprocess Fortran sources
765a611956 NAG-Fortran: Added initial default compilation flags
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9407
2024-04-16 08:53:56 -04:00
Brad King
f494bbaf8f
Merge topic 'FindBacktrace-imported-library'
...
9433755e5d FindBacktrace: Add imported library
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9406
2024-04-16 08:51:59 -04:00
Brad King
e9fcec6ac1
Merge topic 'findgtk2-fix'
...
7e49b98219 FindGTK2: Find arch-specific headers via pkg-config
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !9417
2024-04-16 08:50:45 -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
Brad King
f0e36bc429
Merge topic 'test-separate_arguments'
...
a716ed88e7 Tests: Avoid unnecessary copy of cmake in RunCMake.separate_arguments
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !9424
2024-04-16 08:41:39 -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
Brad King
2e9742cb3d
Tests/RunCMake/Configure: Improve variable scoping
2024-04-15 14:38:19 -04:00
Brad King
60af764a12
ci: Reduce granularity of Intel compiler coverage for pre-2021 versions
...
For Intel versions from 2016, 2017, 2018, 2019, and 2020, cover only the
latest update from each year. This will reduce the size of the nightly
pipeline.
2024-04-15 14:29:30 -04:00
Brad King
1ffb05b9df
ci: Switch to CUDA 12.2 job in merge requests
...
Cover a more recent CUDA version during development.
2024-04-15 14:27:25 -04:00
Brad King
46bb949e68
ci: Run non-MR CUDA and HIP jobs only in nightly pipelines
...
This is more consistent with the way other non-MR jobs run.
2024-04-15 14:25:08 -04:00
Simon Maertens
4af20bb794
NAG-Fortran: Do not repeat preprocessing with Ninja on Apple platforms
...
The Ninja generator uses separate preprocessing and compilation steps.
Do not pass `-fpp` when compiling an already-preprocessed source.
Issue: #25900
2024-04-15 13:48:15 -04:00
Simon Maertens
91bb8dd872
NAG-Fortran: Fix MODULE library creation on Apple platforms
...
Previously we passed `-bundle` to the NAG Fortran front-end, which
does not support it. Pass it through to the linker instead.
2024-04-15 13:35:08 -04:00
Simon Maertens
e056006116
NAG-Fortran: Tell the Ninja generator how to preprocess Fortran sources
...
Fixes : #21398
2024-04-15 13:33:30 -04:00
Simon Maertens
765a611956
NAG-Fortran: Added initial default compilation flags
...
The configuration of the NAG Fortran compiler was previously missing the
standard flags for debug, release and the other build types.
2024-04-15 13:32:06 -04:00
David Faure
9433755e5d
FindBacktrace: Add imported library
...
This is to avoid (a future version of) Qt from having to wrap
FindBacktrace like [1].
[1] https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/FindWrapBacktrace.cmake
2024-04-15 13:27:23 -04:00
Maxim Cournoyer
7e49b98219
FindGTK2: Find arch-specific headers via pkg-config
...
Fixes : #25884
2024-04-15 12:19:35 -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
a716ed88e7
Tests: Avoid unnecessary copy of cmake in RunCMake.separate_arguments
...
The `cmake` binary can be quite large in debug builds.
Inspired-by: Rolf Eike Beer <eb@emlix.com >
2024-04-15 10:13:28 -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
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
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
429902ebad
Clang: support creating a target for imported modules
2024-04-12 11:46:40 -04:00
Ben Boeckel
4617f272b4
MSVC: support import std
2024-04-12 11:46:40 -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
ffe74289b3
CMakeDetermineCompilerId: extract C++ standard library impl
...
This is needed for C++ modules because `import std` support may differ
based on the standard library implementation. Extract the information as
necessary.
2024-04-12 11:46:39 -04:00
Ben Boeckel
15bbd1d9b8
Experimental: add an experimental feature gate for import std
2024-04-12 11:46:39 -04:00
Ben Boeckel
f80c60df02
CMakeDetermineCompilerSupport: construct C++ modules targets
...
Compilers may implement this by implementing a `_cmake_cxx_import_std`
function which takes the standard version as an argument (e.g., `23`)
and creating a target named `CMake::CXX${std}` that represents how
`import std;` should be represented within CMake.
2024-04-12 09:32:29 -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
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