Commit Graph

66700 Commits

Author SHA1 Message Date
Matthew Woehlke
6c66340a64 export: Fix const placement
Use clang-format to fix placement of const qualifiers to be consistently
right of the typename. The inconsistency was getting annoying,
especially as the following refactor changes a lot of methods and
sometimes adds const. (Being inconsistent within a file is not ideal,
but in some cases there was inconsistency within single lines!)
2024-07-18 12:08:43 -04:00
Matthew Woehlke
1bceab3520 export: Factor out CMake-specific export generation (*/2)
In order to support generation of Common Package Specifications, the
mechanisms CMake uses to export package information need to be made more
abstract. This will involve substantial refactoring of the classes used
to generate the actual export files. In order to help git track what's
happening, create the new files as copies of the files that will serve
as their source material. The class names have been updated and
formatting repaired, but no other refactoring has been done, which
should still allow git to detect the copies.

This commit is a purely intermediate step that exists for no other
reason than to improve history tracking.
2024-07-18 12:08:43 -04:00
Matthew Woehlke
a6cc595772 export: Factor out CMake-specific export generation (1/2)
In order to support generation of Common Package Specifications, the
mechanisms CMake uses to export package information need to be made more
abstract. As a first step toward this, refactor cmInstallExportGenerator
so that logic specific to config.cmake and Android .mk lives in separate
subclasses.

While we're at it, clean up the code style a bit and try to use moves a
bit more consistently.

This is step 1 of 2. The next step will refactor the individual file
generators along similar lines, which will also involve creating
additional classes for format-agnostic logic that is shared between
build-tree and install-tree variants.
2024-07-18 12:08:43 -04:00
Matthew Woehlke
0352376e44 export: Immediately report actual version required
Slightly tweak the logic that tests if a user can consume exported
targets to immediately report the actual version required, rather than
potentially giving the consumer false hope by reporting that 2.8 is
required, only to immediately run another check that requires a more
recent CMake version. (Note that the two-level check is presumably
needed because CMake < 2.8 wouldn't understand VERSION_LESS.)
2024-07-18 12:08:42 -04:00
Brad King
d39b8044b6 Merge branch 'release-3.30' 2024-07-18 09:48:21 -04:00
Brad King
cd386f6425 CMake 3.30.1 v3.30.1 2024-07-18 09:13:21 -04:00
Brad King
de8e176113 Merge topic 'parallel-install'
159ba027b9 Install: Add parallel installation option

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9611
2024-07-18 09:04:47 -04:00
Brad King
0db6a72651 Merge topic 'doc-compile'
4b9ed91424 Help: check_*source_compiles and CMAKE_TRY_COMPILE_TARGET_TYPE

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9641
2024-07-18 09:02:05 -04:00
Brad King
078eb8d79d Merge topic 'FindCUDAToolkit-windows-only'
973b019363 FindCUDAToolkit: Refactor search windows only search directories

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9648
2024-07-18 09:01:16 -04:00
Brad King
89dc9a6c41 Merge topic 'ninja-custom-target-build-event-dollar'
c3c14f04f2 Ninja: Fix build event commands with $-sign on custom targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9662
2024-07-18 09:00:30 -04:00
Brad King
4221d6b220 Merge topic 'implicit-link-static'
b3c9b317ff CMakeParseImplicitLinkInfo: Honor gfortran -static-libquadmath flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9664
2024-07-18 08:59:13 -04:00
Brad King
2168a354bf Merge branch 'release-3.30' 2024-07-18 08:57:48 -04:00
Brad King
f2e52b3124 Merge topic 'vs-cuda'
a9210a0c02 VS: Restore support for CUDA with no optimization flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9666
2024-07-18 08:57:48 -04:00
Brad King
07c1287c87 Merge topic 'vs-cuda' into release-3.30
a9210a0c02 VS: Restore support for CUDA with no optimization flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9666
2024-07-18 08:57:47 -04:00
Brad King
04dba758e5 Merge branch 'release-3.30' 2024-07-18 08:56:32 -04:00
Brad King
24f3862628 Merge topic 'macos-curl-backend'
f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9663
2024-07-18 08:56:32 -04:00
Brad King
d12c3e711d Merge topic 'macos-curl-backend' into release-3.30
f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9663
2024-07-18 08:56:30 -04:00
Kitware Robot
9e6690abeb CMake Nightly Date Stamp 2024-07-18 00:01:11 -04:00
scivision
4b9ed91424 Help: check_*source_compiles and CMAKE_TRY_COMPILE_TARGET_TYPE
Ref: #26103
2024-07-17 11:56:26 -04:00
Brad King
a9210a0c02 VS: Restore support for CUDA with no optimization flags
Since commit 67de5b7b82 (VS: Suppress MSBuild default settings affected
by UseDebugLibraries, 2024-02-13, v3.30.0-rc1~538^2~1) we generate an
empty `Optimization` element for the host compiler when there are no C
or C++ optimization flags enabled.  The CUDA Toolkit Visual Studio
integration fails with an error if an empty string is inherited from the
host compiler's `Optimization` element.  If no CUDA optimization flags
are specified, write an explicit empty `Optimization` element for the
CUDA compiler too.

Fixes: #26144
2024-07-17 11:42:31 -04:00
Robert Maynard
973b019363 FindCUDAToolkit: Refactor search windows only search directories
Will allow us to better support layout changes going forward
2024-07-17 10:47:34 -04:00
Brad King
25abc95715 Merge topic 'LLVMFlang-aix'
e37d8e28e8 LLVMFlang: Add support for AIX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9661
2024-07-17 09:48:24 -04:00
Brad King
b3cd795e65 Merge topic 'wasi'
68cd5281e4 WASI: Add platform modules

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9659
2024-07-17 09:47:30 -04:00
Brad King
046c63e376 Merge topic 'revert-autorcc-timestamp'
9ffac91e37 Autogen: Revert "Add timestamp file for CMAKE_GLOBAL_AUTORCC_TARGET"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9649
2024-07-17 09:46:29 -04:00
Dávid Péter Jánosa
c3c14f04f2 Ninja: Fix build event commands with $-sign on custom targets
Fixes: #26143
2024-07-17 09:27:35 -04:00
Brad King
f2596dfa0e macOS: Work around bug in system curl 8.{3,4,5} LibreSSL backend
Since commit d3cbee99e3 (macOS: Prefer building with system-provided
curl, 2024-05-09, v3.30.0-rc1~130^2~1) CMake uses the macOS-provided
curl, which uses the LibreSSL backend by default.  This exposes us to
curl issue 12525, created and fixed by the following upstream curl
commits:

* commit `bec0c5bbf` (openssl: switch to modern init for
                      LibreSSL 2.7.0+, 2023-08-07, `curl-8_3_0~201`)
* commit `9f2d2290d` (openssl: re-match LibreSSL deinit with init,
                      2023-12-15, `curl-8_6_0~219`)

Work around the bug by preferring the secure-transport backend by
default on the problematic versions of curl.
2024-07-17 09:13:26 -04:00
Kitware Robot
4a382aa8dd CMake Nightly Date Stamp 2024-07-17 00:01:10 -04:00
Brad King
b3c9b317ff CMakeParseImplicitLinkInfo: Honor gfortran -static-libquadmath flag
Extend commit 1d7fddca8e (CMakeParseImplicitLinkInfo: Honor GNU static
runtime library flags, 2021-06-02, v3.21.0-rc1~85^2) to cover the
`quadmath` library.
2024-07-16 16:42:18 -04:00
Kelvin Li
e37d8e28e8 LLVMFlang: Add support for AIX 2024-07-16 14:32:19 -04:00
Brad King
45c94ba2ab Merge branch 'release-3.30' 2024-07-16 13:49:57 -04:00
Brad King
f055da52dc Merge branch 'release-3.29' 2024-07-16 13:49:49 -04:00
Brad King
3b2ef9b54c Merge branch 'release-3.29' into release-3.30 2024-07-16 13:49:33 -04:00
Brad King
928571f3c2 CMake 3.29.7 v3.29.7 2024-07-16 13:14:29 -04:00
Jacob Hummer
68cd5281e4 WASI: Add platform modules
Add minimal platform modules to support toolchain files like those in

* https://github.com/WebAssembly/wasi-sdk

or direct use of `-DCMAKE_SYSTEM_NAME="WASI"`

Fixes: #19223
2024-07-16 12:28:19 -04:00
Brad King
7d1b056d23 Merge branch 'release-3.30' 2024-07-16 10:32:15 -04:00
Brad King
d34b428071 Merge topic 'custom-transitive-properties'
7a77a6c642 Restore support for exporting INTERFACE with missing dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9656
2024-07-16 10:32:15 -04:00
Brad King
5a3eabcd1f Merge topic 'custom-transitive-properties' into release-3.30
7a77a6c642 Restore support for exporting INTERFACE with missing dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Robert Maynard <robertjmaynard@gmail.com>
Merge-request: !9656
2024-07-16 10:32:14 -04:00
Brad King
efc592f28c Merge branch 'release-3.30' 2024-07-16 10:30:52 -04:00
Brad King
e9d72f611c Merge topic 'IntelLLVM-layout-2024'
ceb58f0ccf IntelLLVM: Update toolchain layout for 2024+ versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9653
2024-07-16 10:30:52 -04:00
Brad King
0c567293bf Merge topic 'IntelLLVM-layout-2024' into release-3.30
ceb58f0ccf IntelLLVM: Update toolchain layout for 2024+ versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9653
2024-07-16 10:30:50 -04:00
Brad King
15b94123f6 Merge branch 'release-3.30' 2024-07-16 10:29:59 -04:00
Brad King
f31ff28294 Merge topic 'doc-mark-deprecated'
723e236224 Help: Move deprecated modules and variables to dedicated sections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9651
2024-07-16 10:29:59 -04:00
Brad King
365619ed97 Merge topic 'doc-mark-deprecated' into release-3.30
723e236224 Help: Move deprecated modules and variables to dedicated sections

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9651
2024-07-16 10:29:58 -04:00
Brad King
f83263e7aa Merge branch 'release-3.30' 2024-07-16 10:28:17 -04:00
Brad King
cabbb9d6a7 Merge topic 'libuv-idna'
890beb19e6 libuv: backport IDNA input/output hardening fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9658
2024-07-16 10:28:17 -04:00
Brad King
45a46e97b7 Merge topic 'libuv-idna' into release-3.30
890beb19e6 libuv: backport IDNA input/output hardening fixes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9658
2024-07-16 10:28:16 -04:00
Brad King
273b090877 Merge branch 'release-3.30' 2024-07-16 10:27:18 -04:00
Brad King
87eefa238f Merge topic 'FindMatlab-no-langs'
70cbcb1da3 FindMatlab: Restore support for finding Matlab without any languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9657
2024-07-16 10:27:18 -04:00
Brad King
e69b8a4ff1 Merge topic 'FindMatlab-no-langs' into release-3.30
70cbcb1da3 FindMatlab: Restore support for finding Matlab without any languages

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9657
2024-07-16 10:27:16 -04:00
Kyle Edwards
4e1337be6a Merge topic 'cuda-static-nvml'
b3f02006f0 FindCUDAToolkit: Add ability to find static version of nvml

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9654
2024-07-16 09:34:00 -04:00