Commit Graph

64339 Commits

Author SHA1 Message Date
Brad King
bd31a35899 Tests: Add unit tests for internal cmake_determine_linker_id helper 2024-01-03 16:20:24 -05:00
Brad King
edb10c5325 Merge topic 'package-dispatch-apple'
1dd4a9baff Tests: Cover generate_apple_platform_selection_file on all platforms
3148db4533 CMakePackageConfigHelpers: Fix Apple platform selection for tvOS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9077
2023-12-18 10:56:43 -05:00
Kitware Robot
43e6d30061 CMake Nightly Date Stamp 2023-12-18 00:01:56 -05:00
Craig Scott
50e8791f92 Merge topic 'fc-provider-find-package-args'
0415304970 FetchContent: Fix FIND_PACKAGE_ARGS not being passed to dep providers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9080
2023-12-17 15:43:00 -05:00
Craig Scott
b7ad9bd8f3 Merge topic 'doc-fc-fully-disconnected'
18c514a86d Help: Add note not to use FETCHCONTENT_FULLY_DISCONNECTED on first run

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9081
2023-12-17 15:38:06 -05:00
Craig Scott
a8dcc2c6c2 Merge topic 'doc-embed-xcode-limitations'
ba5882a6c1 Help: Document Xcode project visibility constraints for embedding

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9078
2023-12-17 15:35:08 -05:00
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
Brad King
1dd4a9baff Tests: Cover generate_apple_platform_selection_file on all platforms
The test added by commit 37bc3400cd (CMakePackageConfigHelpers: Add
generate_apple_platform_selection_file(), 2023-11-03) covers importing
only on macOS, and is specific to the xcframework test case.  Add a
dedicated test for `generate_apple_platform_selection_file` that covers
export and import on all platforms.
2023-12-16 06:54:46 -05:00
Craig Scott
18c514a86d Help: Add note not to use FETCHCONTENT_FULLY_DISCONNECTED on first run
Fixes: #25481
2023-12-16 20:36:26 +11:00
Craig Scott
0415304970 FetchContent: Fix FIND_PACKAGE_ARGS not being passed to dep providers
Fixes: #25504
2023-12-16 16:42:00 +11:00
Kitware Robot
316bb67ff7 CMake Nightly Date Stamp 2023-12-16 00:01:08 -05:00
Craig Scott
ba5882a6c1 Help: Document Xcode project visibility constraints for embedding
Fixes: #22412
2023-12-16 09:41:09 +11:00
Brad King
3148db4533 CMakePackageConfigHelpers: Fix Apple platform selection for tvOS
Fix the tvOS SDK name in commit 37bc3400cd (CMakePackageConfigHelpers:
Add generate_apple_platform_selection_file(), 2023-11-03).
2023-12-15 16:33:22 -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