Commit Graph

64328 Commits

Author SHA1 Message Date
Kitware Robot daf8da8c80 CMake Nightly Date Stamp 2023-12-17 00:01:07 -05:00
Brad King ba41ca758a Merge topic 'swift-split-compilation-model'
9bed4f4d81 Swift/Ninja: Split compilation model
64b3367845 cmGlobalGenerator: Allow passing language to GetLangaugeOutputExtension

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8907
2023-12-16 07:15:41 -05:00
Kitware Robot 316bb67ff7 CMake Nightly Date Stamp 2023-12-16 00:01:08 -05:00
Brad King 6ba3bb0563 Merge topic 'cmake-test-launcher'
88863d83d6 fileapi: Add test launcher to codemodel-v2
1ec0372ed4 add_test: Optionally use a launcher for tests running in-project targets
478a5f4e04 fileapi: Make launcher attribute 'arguments' optional
b44e38a397 cmFileAPICodemodel: Add missing std::move()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !8963
2023-12-15 09:34:20 -05:00
Brad King 6a67f71b57 Merge topic 'update-curl'
fe2fe52c86 curl: Set build options the way we need for CMake
548f0cfd1d Merge branch 'upstream-curl' into update-curl
fe5ffe06a9 curl 2023-12-06 (7161cb17)
38f85b8390 curl: Update script to get curl 8.5.0

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9069
2023-12-15 09:33:31 -05:00
Brad King 673e6b3f33 Merge branch 'release-3.28' 2023-12-15 09:32:00 -05:00
Brad King d901c4aa95 Merge topic 'FindCUDAToolkit-cupti'
04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines
09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9072
2023-12-15 09:32:00 -05:00
Brad King e42eaa4342 Merge topic 'FindCUDAToolkit-cupti' into release-3.28
04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines
09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9072
2023-12-15 09:31:59 -05:00
Brad King a15690da84 Merge branch 'release-3.28' 2023-12-15 09:30:56 -05:00
Brad King 762e3109a0 Merge topic 'FindBoost-1.84'
9dc0392df0 FindBoost: Add support for Boost 1.84

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9075
2023-12-15 09:30:56 -05:00
Brad King a903e3b540 Merge topic 'FindBoost-1.84' into release-3.28
9dc0392df0 FindBoost: Add support for Boost 1.84

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9075
2023-12-15 09:30:55 -05:00
Evan Wilde 9bed4f4d81 Swift/Ninja: Split compilation model
Splitting the Swift build into an object build and a separate link step,
instead of building and linking in one step. The immediate benefit is
LSP support because we are able to emit compile-commands for Swift files
now. Additionally, it is possible to specify flags to the compile step,
enabling folks to emit C and C++ headers from their Swift builds for
C/C++ interop, without needing custom commands. Eventually, this gives
us a path toward working object libraries.

Object Libraries:
 - Object libraries don't work today because CMake doesn't emit targets
   for object libraries into the Ninja build file.
 - tl;dr: Object libraries work if they aren't WMO. Still need work to
   make WMO'd object libraries work.

   Object libraries still don't completely work with this patch because,
   while we emit the targets, the `TARGET_OBJECTS` generator expression
   expansion has a separate mechanism for determining what the names of
   the objects are based on the input source files, so targets that
   depend on an object library built with a whole-module optimization
   will depend on objects based on the name of the source file instead
   of the actual emitted object file.

These features require being able to accurately model wholemodule builds
though, because we actually need to track object files and WMO affects
what objects are emitted. For that, we require CMP0157 use the NEW
policy. When it's OLD, we have to fall back on the old behavior and
cannot provide object libraries or the compile-commands for LSP.

Issue: #25308
2023-12-15 05:51:13 -08:00
Kitware Robot dc4ce42b66 CMake Nightly Date Stamp 2023-12-15 00:01:05 -05:00
Robert Maynard 04959e0285 Tests: Verify CUDA::cupti existence on a subset of machines
When we know that the cupti library exists explicitly request the CUDA Toolkit test to verify the existence
2023-12-14 14:05:28 -05:00
Robert Maynard 09a3c8b46b CUDAToolkit: Correctly search all include paths from compiler
The CUDAToolkit usage of `find_path( PATHS )` was incorrectly
quoting a list of paths causing none of them to be used.
2023-12-14 14:04:53 -05:00
Brad King 9dc0392df0 FindBoost: Add support for Boost 1.84
Update the list of known versions.

Run the command

    cmake -DBOOST_DIR=/path/to/boost_1_84_0 \
      -P Utilities/Scripts/BoostScanDeps.cmake

to extract dependencies from the 1.84.0 source tree.
They are the same as 1.83's dependencies, so just update
the version check for warning about newer versions.

Fixes: #25499
2023-12-14 11:35:26 -05:00
Brad King 6eafd7a37c Merge branch 'release-3.28' 2023-12-14 11:20:14 -05:00
Brad King 1eed682d7c CMake 3.28.1 v3.28.1 2023-12-14 10:47:27 -05:00
Brad King 75a68b803c Merge branch 'release-3.28' 2023-12-14 10:46:30 -05:00
Brad King 654cc4c25d Merge topic 'FindMatlab-version'
0f6e9d0658 FindMatlab: Fix processing of multiple versions from Windows Registry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9074
2023-12-14 10:46:30 -05:00
Brad King a76bb5f865 Merge topic 'FindMatlab-version' into release-3.28
0f6e9d0658 FindMatlab: Fix processing of multiple versions from Windows Registry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9074
2023-12-14 10:46:29 -05:00
Brad King 0f6e9d0658 FindMatlab: Fix processing of multiple versions from Windows Registry
Fix logic from commit fff5c1507e (FindMatlab: refactor: use registry
query instead of execute_process, 2023-09-14, v3.28.0-rc1~82^2~7)
to work when multiple versions are found in the registry.

Issue: #25497
2023-12-14 10:35:56 -05:00
Brad King 46cd0a2acd Merge branch 'release-3.28' 2023-12-14 10:02:50 -05:00
Brad King 32cd449eec Merge topic 'FindTIFF-pre-CMP0057'
84930e9a4c FindTIFF: Restore support for projects that do not enable CMP0057

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9073
2023-12-14 10:02:50 -05:00
Brad King 146c75a557 Merge topic 'FindTIFF-pre-CMP0057' into release-3.28
84930e9a4c FindTIFF: Restore support for projects that do not enable CMP0057

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9073
2023-12-14 10:02:49 -05:00
Brad King 84930e9a4c FindTIFF: Restore support for projects that do not enable CMP0057
Since commit 6a3059e66f (FindTIFF: bridge `tiff-config` into
FindTIFF-compatible interface, 2023-09-14, v3.28.0-rc1~87^2) we use the
`if(IN_LIST)` test that required CMP0057.  Expand the scope over which
we enable that policy explicitly.

Issue: #25485
2023-12-14 09:43:08 -05:00
Brad King f1c221ee3f Merge branch 'release-3.28' 2023-12-14 09:16:30 -05:00
Brad King 01eb3f01b7 Merge topic 'FindFreetype-use-config'
828df1d9e4 FindFreetype: Fix success message when config module is found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9071
2023-12-14 09:16:29 -05:00
Brad King 4ba15ae3f3 Merge topic 'FindFreetype-use-config' into release-3.28
828df1d9e4 FindFreetype: Fix success message when config module is found

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9071
2023-12-14 09:16:28 -05:00
Brad King 828df1d9e4 FindFreetype: Fix success message when config module is found
Follow up commit d892dedf22 (FindFreetype: always find the config module
quietly, 2023-12-13) with a fix to the FPHSA call that reports success.

Fixes: #25485
2023-12-14 09:06:07 -05:00
Brad King 228129946b Merge branch 'release-3.28' 2023-12-14 08:30:02 -05:00
Brad King d4eb72a3f6 Merge topic 'FindMatlab-version'
ef64c118de FindMatlab: Fix regression on Windows Registry lookup failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9070
2023-12-14 08:30:02 -05:00
Brad King 3d1fbc4f6b Merge topic 'FindMatlab-version' into release-3.28
ef64c118de FindMatlab: Fix regression on Windows Registry lookup failure

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9070
2023-12-14 08:30:00 -05:00
Brad King fbfbe959c0 Merge branch 'release-3.28' 2023-12-14 08:28:26 -05:00
Brad King 4d45fbd56a Merge topic 'Find-CONFIG-chain-fixes'
581acbce52 FindTIFF: consider `IMPLIB`-using platforms
e8e7d9f775 FindTIFF: always find the config module quietly
a575bebf0d FindFreetype: also consider RelWithDebInfo-built libraries
d892dedf22 FindFreetype: always find the config module quietly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9068
2023-12-14 08:28:25 -05:00
Brad King db5716385e Merge topic 'Find-CONFIG-chain-fixes' into release-3.28
581acbce52 FindTIFF: consider `IMPLIB`-using platforms
e8e7d9f775 FindTIFF: always find the config module quietly
a575bebf0d FindFreetype: also consider RelWithDebInfo-built libraries
d892dedf22 FindFreetype: always find the config module quietly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9068
2023-12-14 08:28:15 -05:00
Brad King ef64c118de FindMatlab: Fix regression on Windows Registry lookup failure
Fix logic from commit dc9d9589e4 (FindMatlab:WIN32: return full Matlab
version when found via registry, 2023-09-14, v3.28.0-rc1~82^2~2) to
avoid assuming that a registry entry always exists and is non-empty.

Fixes: #25497
2023-12-14 08:12:13 -05:00
Kitware Robot 889dd287d3 CMake Nightly Date Stamp 2023-12-14 00:01:05 -05:00
Ben Boeckel 581acbce52 FindTIFF: consider IMPLIB-using platforms
Support multi-config-providing and `IMPLIB`-using deployments with the
`tiff-config` trampoline code. Follow the pattern used in `FindFreetype`
by commit ae9890cd36 (FindFreeType: consider `IMPLIB`-using platforms,
2023-10-26, v3.28.0-rc4~10^2~3).

See: #25485
2023-12-13 13:12:45 -05:00
Ben Boeckel e8e7d9f775 FindTIFF: always find the config module quietly
When the config module is not present, a spurious "tiff not found" is
output before the pre-existing logic is used. Instead, silence the
module and use FPHSA to report as-if `TIFF` did the search.

Fixes: #25485
2023-12-13 13:12:45 -05:00
Ben Boeckel a575bebf0d FindFreetype: also consider RelWithDebInfo-built libraries 2023-12-13 13:12:45 -05:00
Ben Boeckel d892dedf22 FindFreetype: always find the config module quietly
When the config module is not present, a spurious "freetype not found"
is output before the pre-existing logic is used. Instead, silence the
module and use FPHSA to report as-if `Freetype` did the search.

See: #25485
2023-12-13 11:28:18 -05:00
Ralf Habacker 88863d83d6 fileapi: Add test launcher to codemodel-v2
We do not need to bump the minor version because it was recently bumped
by addition of the cross-compiling emulator as another kind of launcher.
2023-12-13 10:20:43 -05:00
Ralf Habacker 1ec0372ed4 add_test: Optionally use a launcher for tests running in-project targets
Add a `CMAKE_TEST_LAUNCHER` variable and corresponding `TEST_LAUNCHER`
target property.

Issue: #23672
2023-12-13 10:20:43 -05:00
Ralf Habacker 478a5f4e04 fileapi: Make launcher attribute 'arguments' optional
This was missed in commit 80a64c9ce5 (fileapi: Add cross-compiling
emulator to codemodel-v2, 2023-11-11).
2023-12-13 10:20:41 -05:00
Ralf Habacker b44e38a397 cmFileAPICodemodel: Add missing std::move()
This was missed in commit 80a64c9ce5 (fileapi: Add cross-compiling
emulator to codemodel-v2, 2023-11-11).
2023-12-13 10:19:38 -05:00
Brad King f3b667527e Merge branch 'release-3.28' 2023-12-13 09:34:51 -05:00
Brad King f522cf4546 Merge topic 'doc-xcframeworks-stubs-apple'
e831eef933 Help: Note case where IMPORTED_IMPLIB isn't needed for (xc)frameworks
01735badee Help: XCFrameworks and stubs are supported on all Apple, not just macOS
6ac50df591 Help: Add missing versionadded directives for IMPORTED_IMPLIB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9058
2023-12-13 09:34:51 -05:00
Brad King ef6aec22a1 Merge topic 'doc-xcframeworks-stubs-apple' into release-3.28
e831eef933 Help: Note case where IMPORTED_IMPLIB isn't needed for (xc)frameworks
01735badee Help: XCFrameworks and stubs are supported on all Apple, not just macOS
6ac50df591 Help: Add missing versionadded directives for IMPORTED_IMPLIB

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9058
2023-12-13 09:34:50 -05:00
Brad King b59123f0c1 Merge topic 'adsp-deps'
fccb1d3a36 ADSP: Use compiler-reported preprocessor dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9067
2023-12-13 09:33:57 -05:00