Ben Boeckel
e80689d101
cmTarget: refactor LINK_LIBRARIES usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
4f009d2121
cmTarget: refactor LINK_DIRECTORIES usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
99e783e735
cmTarget: refactor LINK_OPTIONS usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
fd295dd263
cmTarget: refactor SOURCES usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
b21ab2638f
cmTarget: refactor PRECOMPILE_HEADERS usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
8566336776
cmTarget: refactor COMPILE_DEFINITIONS usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
70555450fe
cmTarget: refactor COMPILE_FEATURES usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
03b9240d6b
cmTarget: refactor COMPILE_OPTIONS usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
91561103de
cmTarget: refactor INCLUDE_DIRECTORIES usage requirements
2023-01-31 10:07:02 -05:00
Ben Boeckel
f644fc8aca
cmTarget: introduce a UsageRequirementProperty structure
...
This structure will encapsulate the behaviors of usage requirements.
There are a number of them now and they all behave very similarly, so
try to reduce the code duplication as much as possible.
2023-01-31 10:07:02 -05:00
Ben Boeckel
c33d7d1162
cmTarget: use cmNonempty rather than local implementation
2023-01-26 23:23:12 -05:00
Ben Boeckel
90d74fcc85
cmTarget: use an enum for the action when writing fileset properties
2023-01-26 23:23:12 -05:00
Ben Boeckel
b532911c9e
cmTarget: simplify fileset type property management
...
Instead of copy/pasting conditionals for each fileset type, just make an
array of the structures and iterate over them.
2023-01-26 23:23:12 -05:00
Brad King
62483b9b99
Merge topic 'gen-pkg-example'
...
bfa61ccf64 Help: Modernize PackageConfigHelpers example
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8111
2023-01-24 09:20:49 -05:00
Brad King
7c241bccc3
Merge topic 'wrap-ninja-multi'
...
d59ab71779 Help: Wrap long examples in Ninja Multi-Config doc
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8103
2023-01-24 09:20:14 -05:00
Brad King
8540fe31d1
Merge branch 'release-3.25'
2023-01-24 09:19:16 -05:00
Brad King
caf5aea63f
Merge topic 'FindPython-CMP0007-NEW'
...
486b3c0850 FindPython: Policy CMP0007 must be set to NEW
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8104
2023-01-24 09:19:16 -05:00
Brad King
4db877ce9a
Merge topic 'FindPython-CMP0007-NEW' into release-3.25
...
486b3c0850 FindPython: Policy CMP0007 must be set to NEW
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8104
2023-01-24 09:19:14 -05:00
Brad King
ba5d255b1c
Merge branch 'release-3.25'
2023-01-24 09:18:20 -05:00
Brad King
07206384ec
Merge topic 'cxxmodules-ninja-1.11'
...
8d4e510a44 Merge branch 'backport-cxxmodules-ninja-1.11' into cxxmodules-ninja-1.11
7abddcab08 Ninja: require Ninja 1.11 for C++ module support
0512428ad9 Ninja: require Ninja 1.11 for C++ module support
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8099
2023-01-24 09:18:20 -05:00
Brad King
3563d461dd
Merge topic 'cxxmodules-ninja-1.11' into release-3.25
...
0512428ad9 Ninja: require Ninja 1.11 for C++ module support
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8099
2023-01-24 09:18:19 -05:00
Kitware Robot
ec381070fa
CMake Nightly Date Stamp
2023-01-24 00:01:13 -05:00
FeRD (Frank Dana)
bfa61ccf64
Help: Modernize PackageConfigHelpers example
...
The example shown in the module documentation for
CMakePackageConfigHelpers was showing its age, by:
1. Hardcoding directory prefixes (`etc/`, `lib/`, etc.) instead of
using GNUInstallDirs
2. Handwaving `set()` commands (incorrectly!) as:
`set(VAR dir/ ... CACHE )`
which should, at the very least, be:
`set(VAR dir/ CACHE ... )`
3. Installing CMake configuration files to `lib/Foo/cmake/`, when
current practice favors `${CMAKE_INSTALL_LIBDIR}/cmake/Foo/`
This updated example addresses all of those issues.
2023-01-23 18:02:31 -05:00
Brad King
8d4e510a44
Merge branch 'backport-cxxmodules-ninja-1.11' into cxxmodules-ninja-1.11
2023-01-23 12:23:18 -05:00
Ben Boeckel
7abddcab08
Ninja: require Ninja 1.11 for C++ module support
...
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721
See: https://github.com/ninja-build/ninja/pull/1937
2023-01-23 12:21:05 -05:00
Ben Boeckel
0512428ad9
Ninja: require Ninja 1.11 for C++ module support
...
See: https://gitlab.kitware.com/cmake/cmake/-/issues/18355#note_1296721
See: https://github.com/ninja-build/ninja/pull/1937
2023-01-23 10:54:53 -05:00
Brad King
f9f34eb111
Merge topic 'improve_supported_language_docs'
...
b787be2714 Help: Update supported languages in project and enable_language
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8101
2023-01-23 10:41:41 -05:00
Brad King
709bc0368f
Merge topic 'genex-CONFIG-validate-all'
...
910ada1a88 Genex: $<CONFIG:> syntax of all entries checked
42e417ad12 GeneratorExpression Tests: Remove duplicate test entry
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8082
2023-01-23 10:40:53 -05:00
Brad King
c9fc146a93
Merge topic 'find_cudatoolkit_add_nvrtc_static'
...
2a94c762ed FindCUDAToolkit: Add support for CUDA::nvrtc_static
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8100
2023-01-23 10:40:05 -05:00
Brad King
99bd5eb062
Merge topic 'vs-BuildInParallel'
...
33c15ae2b9 VS: Build custom commands concurrently when possible
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8093
2023-01-23 10:39:09 -05:00
Ivan Zinkevich
33c15ae2b9
VS: Build custom commands concurrently when possible
...
Enable the `BuildInParallel` setting in VS project files when supported.
Fixes : #18405
2023-01-23 10:38:07 -05:00
Brad King
f45ef98a7e
Merge branch 'release-3.25'
2023-01-23 10:35:52 -05:00
Brad King
f07fdb250c
Merge topic 'FindOpenSP-pkg-config-hints'
...
3b1c19f00a FindOpenSP: Use pkg-config only as hints for main code path
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8097
2023-01-23 10:35:52 -05:00
Brad King
b179982001
Merge topic 'FindOpenSP-pkg-config-hints' into release-3.25
...
3b1c19f00a FindOpenSP: Use pkg-config only as hints for main code path
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8097
2023-01-23 10:35:50 -05:00
Brad King
f4d604f77f
Merge topic 'try_compile-verbose'
...
faa950a155 try_compile: Run native build tool with verbose output
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8095
2023-01-23 10:34:37 -05:00
Kitware Robot
adac7f3ca4
CMake Nightly Date Stamp
2023-01-23 00:01:17 -05:00
Kitware Robot
6d57bbdc7b
CMake Nightly Date Stamp
2023-01-22 00:01:08 -05:00
Marc Chevrier
486b3c0850
FindPython: Policy CMP0007 must be set to NEW
...
Fixes : #24306
2023-01-21 15:08:21 +01:00
Kitware Robot
09ce97c40d
CMake Nightly Date Stamp
2023-01-21 00:01:11 -05:00
FeRD (Frank Dana)
d59ab71779
Help: Wrap long examples in Ninja Multi-Config doc
2023-01-20 16:33:05 -05:00
Brad King
35c220e653
Merge topic 'ci-docker-nvidia'
...
ebd81d0e12 ci: rebase nvidia-derived docker images on tags we control
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: Robert Maynard <robertjmaynard@gmail.com >
Merge-request: !8102
2023-01-20 15:05:34 -05:00
Robert Maynard
b787be2714
Help: Update supported languages in project and enable_language
2023-01-20 13:55:38 -05:00
Robert Maynard
910ada1a88
Genex: $<CONFIG:> syntax of all entries checked
...
Fixes #24327
2023-01-20 13:30:25 -05:00
Brad King
ebd81d0e12
ci: rebase nvidia-derived docker images on tags we control
...
According to NVIDIA's container image support policy [1], they will
remove tags for older images over time. In order to preserve our
ability to rebuild CI images based on them in the future, base them on
tags we control.
[1] https://gitlab.com/nvidia/container-images/cuda/blob/85fbd45b92/doc/support-policy.md
2023-01-20 13:00:19 -05:00
Robert Maynard
2a94c762ed
FindCUDAToolkit: Add support for CUDA::nvrtc_static
2023-01-20 12:05:43 -05:00
Kefu Chai
3b1c19f00a
FindOpenSP: Use pkg-config only as hints for main code path
...
before this change, pkg_check_modules(.. IMPORTED_TARGET GLOBAL)
is used for creating an imported target from which another imported
interface library named OpenSP::OpenSP is created. but pkg-config
does not account for all of CMake's other search behavior controls,
such as CMAKE_FIND_ROOT_PATH. neither does it export the full path
with OpenSP_LIBRARY.
after this change, the paths found by pkg-config are only used
as hints for the find_*() commands. and some cleanup are included:
* be QUIET when calling find_package(PkgConfig ..) and
pkg_check_modules(..) as they are distracting from user's point of
view. what matters is the output of find_package_handle_standard_args()
* parse the version and check for the existance of symbol as long as
header path is found. because they only use header files.
* define OpenSP_LIBRARY as long as it exists. this just follows
the convention. as OpenSP_FOUND implies a valid OpenSP_LIBRARY.
* wrap and intent multi-line command calls for better readability
* check OpenSP_FOUND before adding OpenSP::OpenSP, it's more
idiomatic.
Fixes : #24313
Signed-off-by: Kefu Chai <tchaikov@gmail.com >
2023-01-20 10:14:39 -05:00
Brad King
06c7e88b91
Merge topic 'configure-log'
...
317aac14ef cmake: Stop pointing users at logs on configure errors
eae1398d09 cmake --system-information: Stop dumping CMake{Output,Error}.log
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8094
2023-01-20 09:37:08 -05:00
Brad King
1d52007564
Merge topic 'ninja-swift-exported-executables'
...
4165eb3d0b Ninja: Emit swiftmodule from executable with exports
Acked-by: Kitware Robot <kwrobot@kitware.com >
Merge-request: !8048
2023-01-20 09:36:00 -05:00
Brad King
8150831dfd
Merge topic 'cygwin-no-legacy-win32'
...
a429e4b9b1 CYGWIN: Drop pre-2.8.4 compatibility mode CMAKE_LEGACY_CYGWIN_WIN32
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Merge-request: !8096
2023-01-20 09:33:34 -05:00
Brad King
526b2db5d3
Merge topic 'print-configure-generate-time'
...
5f0c5ec49b cmake: Print configure/generate time
Acked-by: Kitware Robot <kwrobot@kitware.com >
Acked-by: buildbot <buildbot@kitware.com >
Acked-by: scivision <michael@scivision.dev >
Merge-request: !8083
2023-01-20 09:32:45 -05:00