Commit Graph

13879 Commits

Author SHA1 Message Date
Brad King 0f5b2109e6 Merge topic 'clang-windows-make-depends' into release-3.29
492f456c1c Clang: Fix typo to enable compiler-generated Makefile dependencies on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9245
2024-02-13 08:55:25 -05:00
Brad King 7f067a3c17 Merge topic 'mingw-objc-objcxx' into release-3.29
2a4e8f03ef MinGW: Add support for OBJC and OBJCXX

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Cristian Adam <cristian.adam@gmail.com>
Merge-request: !9244
2024-02-13 08:53:15 -05:00
مهدي شينون (Mehdi Chinoune) 2a4e8f03ef MinGW: Add support for OBJC and OBJCXX 2024-02-12 19:46:41 -05:00
Brad King 492f456c1c Clang: Fix typo to enable compiler-generated Makefile dependencies on Windows
Fix a typo from commit 2c71d051fa (Makefiles Generators: use compiler
for dependencies generation, 2020-10-18, v3.20.0-rc1~392^2).
2024-02-12 14:14:07 -05:00
Robert Maynard 17d758b36d FindCUDAToolkit: Fix cuda driver dependencies
Fixes: #25665
2024-02-12 13:29:41 -05:00
Brad King 4977739fc9 Merge topic 'ticlang-compilers' into release-3.29
4c51136b8c ci: Enable TIClang test on Debian Clang jobs in nightly pipeline
9ba0a54554 TIClang: Add support for TI Clang-based compilers, including tiarmclang

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9228
2024-02-12 10:57:18 -05:00
Alan Phipps 9ba0a54554 TIClang: Add support for TI Clang-based compilers, including tiarmclang
Add TIClang compiler ID and support in compiler modules.  Update
documentation.  Add rudimentary RunCMake test for TIClang to test
basic functionality.

Fixes: #24619
2024-02-09 15:54:40 -05:00
Brad King 871a4c5aac Merge branch 'backport-3.28-visionOS' into visionOS 2024-02-09 11:37:11 -05:00
Brad King 40be88a92e visionOS: Update deployment-target flag for Xcode 15.1 beta
Use the same flags Xcode adds for `XROS_DEPLOYMENT_TARGET`.  They are
`-target arm64-apple-xros1.0` and `-target arm64-apple-xros1.0-simulator`,
where `1.0` is the deployment target version.

Fixes: #25188
2024-02-09 11:32:13 -05:00
Brad King c673511263 Merge topic 'FindOpenMP-clang-windows' into release-3.29
3adeb3b470 ci: Enable FindOpenMP tests in LLVM/Clang nightly CI jobs on Windows
3019af64c2 FindOpenMP: Add support for GNU-like Clang targeting MSVC ABI

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9235
2024-02-09 09:04:17 -05:00
Brad King 1c05251433 Merge topic 'FindCUDAToolkit-cudart-deps' into release-3.28
4a3cafec4f FindCUDAToolkit: Fix cudart dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9236
2024-02-09 09:00:46 -05:00
Brad King 070810b324 Merge topic 'FindCUDAToolkit-cudart-deps' into release-3.29
4a3cafec4f FindCUDAToolkit: Fix cudart dependencies

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9236
2024-02-09 09:00:03 -05:00
Markus Mützel 3019af64c2 FindOpenMP: Add support for GNU-like Clang targeting MSVC ABI
Use the code path from commit ceb5ee4a7b (FindOpenMP: Add support for
Clang on Windows, 2020-02-05, v3.17.0-rc1~10^2) with the GNU-like
frontend too.
2024-02-08 17:35:55 -05:00
Robert Maynard 4a3cafec4f FindCUDAToolkit: Fix cudart dependencies
Fixes: #25665
2024-02-08 12:57:13 -05:00
Brad King 9aba253311 Merge topic 'fphsa-version-message' into release-3.29
2fc22a3dec FPHSA: Fix empty version message in exact match

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9227
2024-02-08 09:46:20 -05:00
Brad King 504d33b603 Merge topic 'FindVulkan-glslang-14' into release-3.29
49ebf18dd0 FindVulkan: Update detection for glslang 14.0.0
9cefa2f08d Tests/FindVulkan: Allow easy way to switch between VulkanSDK installations
b832767940 Tests/FindVulkan: Update for glslang 12.3+ output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9225
2024-02-08 09:45:02 -05:00
Brad King aba76cdaed Merge topic 'findmatlab-registry-lookup-without-versionxml' into release-3.29
e22c4dfea0 FindMatlab: Revert undocumented and now-unnecessary full version lookup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9226
2024-02-08 09:42:12 -05:00
Brad King f610541523 Merge topic 'clang-cl-showIncludes' into release-3.29
0d933fc0d9 Ninja: Update showIncludes prefix detection for clang-cl 18
a88acb0a41 Tests/RunCMake/Ninja: Rename showIncludes case for clang-cl <= 17

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9229
2024-02-08 09:40:52 -05:00
Brad King f4b5152f47 Merge topic 'findmatlab-registry-lookup-without-versionxml' into release-3.28
e22c4dfea0 FindMatlab: Revert undocumented and now-unnecessary full version lookup

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9226
2024-02-08 09:40:05 -05:00
Hermann von Kleist e22c4dfea0 FindMatlab: Revert undocumented and now-unnecessary full version lookup
Partially revert commit dc9d9589e4 (FindMatlab:WIN32: return full Matlab
version when found via registry, 2023-09-14, v3.28.0-rc1~82^2~2).  It
changed `matlab_extract_all_installed_versions_from_registry` behavior
to query `VersionInfo.xml` for version information.  However, the
function documentation states that it only uses the registry.  It's also
not needed since commit c608adc236 (FindMatlab: Fix major.minor version
lookups in Windows Registry, 2024-01-11, v3.28.2~13^2~1), which added
the same lookup to `matlab_get_all_valid_matlab_roots_from_registry`.
2024-02-07 12:12:12 -05:00
Niklas Weissner 2fc22a3dec FPHSA: Fix empty version message in exact match
`find_package_check_version()` would use variable `_FOUND_VERSION` set
by `find_package_handle_standard_args()` in a single branch when doing
exact matching, causing empty version messages if it was instead called
directly.

This was missed in commit 6bfc442fde (FPHSA: add support of version
range, 2020-09-22, v3.19.0-rc1~122^2~1) when the version check was moved
into its own function.
2024-02-07 10:43:44 -05:00
Juan Ramos 49ebf18dd0 FindVulkan: Update detection for glslang 14.0.0
Allow `oglcompiler`, `osdependent`, `machineindependent`, and
`genericcodegen` to be optional static library components.

Fixes: #25583
2024-02-07 10:04:48 -05:00
Martin Storsjö 0d933fc0d9 Ninja: Update showIncludes prefix detection for clang-cl 18
Since commit LLVM/Clang commit `5523fefb01c2` ([clang][lex] Use
preferred path separator in includer-relative lookup, 2023-09-08), part
of the upcoming 18.x release, the output format of the showIncludes flag
has changed, where it now prints paths with double backslashes:

    Note: including file: .\\foo.h

Previously, we expected to see the path name in the form "./foo.h".

Extend the regex to match a path name starting with `.\`, in addition to
the existing matched patterns.
2024-02-07 09:38:14 -05:00
Brad King 6efc497ab4 Merge topic 'binutils-objcopy' into release-3.29
053c2b3646 BinUtils: Avoid llvm-objcopy versions older than Clang 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9219
2024-02-07 09:21:22 -05:00
Arkadiusz Skalski 053c2b3646 BinUtils: Avoid llvm-objcopy versions older than Clang 9
Prior to version 9.0, llvm-objcopy is missing the `--only-keep-debug`
option, which makes it incompatible with the GNU objcopy.
2024-02-06 09:06:37 -05:00
Brad King 278ee265a1 Merge topic 'findopengl-glu-include-dir'
aebebf72df FindOpenGL: Add support for a separate GLU include directory

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Merge-request: !9216
2024-02-06 08:53:20 -05:00
Jordan Williams aebebf72df FindOpenGL: Add support for a separate GLU include directory
Add a OPENGL_GLU_INCLUDE_DIR cache variable for `GL/glu.h` and attach it
as an include directory to the `OpenGL::GLU` target.  Also add a
`OPENGL_INCLUDE_DIRS` result variable to list all include directories.
Account for the GLU header when deciding whether GLU is found.

Fixes: #25627
2024-02-05 14:06:06 -05:00
Peter Kokot ef2547bd6a Help: Document CMAKE_SYSTEM_NAME possible values
Fixes: #21489
2024-02-05 10:15:08 -05:00
Brad King cc0c31e79f Merge topic 'GoogleTest-test-launcher'
f875c479f5 GoogleTest: Honor TEST_LAUNCHER in gtest_discover_tests

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9174
2024-02-02 10:57:55 -05:00
Brad King 8d01a388f1 Merge topic 'FindOpenACC'
30962830dc FindOpenACC: Add support for the Clang Compiler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9212
2024-02-02 10:24:23 -05:00
Aaron Jarmusch 30962830dc FindOpenACC: Add support for the Clang Compiler 2024-02-01 07:28:00 -08:00
Brad King 3cabf45a99 Merge topic 'cuda-clang-windows'
899c8d7b21 CUDA/Clang: Fail early when mixing clang++ with cl on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9209
2024-02-01 08:31:19 -05:00
Brad King b1a5c08139 Merge topic 'cross-compiling-init'
79ce5ef4e0 CMakeDetermineSystem: Simplify cross-compiling logging decision
0b181cec03 CMakeDetermineSystem: Clarify comment when CMAKE_SYSTEM_NAME is already set

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9206
2024-02-01 08:15:59 -05:00
Brad King 899c8d7b21 CUDA/Clang: Fail early when mixing clang++ with cl on Windows
In commit 88c740462c (CUDA/Clang: Add support for MSVC ABI on Windows
using GNU-like frontend, 2024-01-17) we updated the message for the
existing check to mention CUDA, but neglected to update the check
itself.

Issue: #25648
2024-01-31 14:42:34 -05:00
Brad King 16b1f0c3e9 Merge topic 'env-cmake-install-prefix'
06af18b9db cmake: Allow CMAKE_INSTALL_PREFIX to be set by environment variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9200
2024-01-31 09:03:21 -05:00
Ralf Habacker f875c479f5 GoogleTest: Honor TEST_LAUNCHER in gtest_discover_tests
We run test executables to discover tests.  Use the same launchers that
are used to run the tests.  We already handle `CROSSCOMPILING_EMULATOR`.
Update the logic to account for the `TEST_LAUNCHER` property added by
commit 1ec0372ed4 (add_test: Optionally use a launcher for tests running
in-project targets, 2023-11-11), and for the `CROSSCOMPILING_EMULATOR`
behavior change in commit ca5a300d7f (add_test: Honor
CROSSCOMPILING_EMULATOR only when cross-compiling, 2023-11-02).

Fixes: #25603
Co-authored-by: Brad King <brad.king@kitware.com>
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2024-01-31 08:33:15 -05:00
Pavel Ferencz 79ce5ef4e0 CMakeDetermineSystem: Simplify cross-compiling logging decision 2024-01-30 12:25:50 -05:00
Brad King 0b181cec03 CMakeDetermineSystem: Clarify comment when CMAKE_SYSTEM_NAME is already set 2024-01-30 12:25:44 -05:00
Silvio Traversaro 06af18b9db cmake: Allow CMAKE_INSTALL_PREFIX to be set by environment variable
Fixes: #25023
2024-01-30 11:44:45 -05:00
Brad King c64c20e7e0 Merge topic 'FindICU-include-dir-advanced'
005e50f5b0 FindICU: Mark ICU_INCLUDE_DIR as advanced variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9199
2024-01-30 11:30:02 -05:00
Peter Kokot 005e50f5b0 FindICU: Mark ICU_INCLUDE_DIR as advanced variable 2024-01-29 11:15:40 -05:00
Brad King d377ccbf67 Merge topic 'productbuild-domains-policy'
339ae33e55 CPack: Change CPACK_PRODUCTBUILD_DOMAINS default to true (CMP0161)
4e7f2397e4 CPack: Clear temporary variable after it is no longer needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9197
2024-01-29 10:36:22 -05:00
Craig Scott fdb05a421a Merge topic 'fortrancinterface-extra-newline'
0534624b10 FortranCInterface: Skip appending an unnecessary newline to Output.cmake

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9196
2024-01-29 07:07:16 -05:00
Brad King e6018e07f9 Merge topic 'fortrancinterface-IS_NEWER_THAN'
1db1132c67 FortranCInterface: Fix wrong path when deciding if redetection is needed

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9194
2024-01-28 09:47:43 -05:00
Craig Scott 339ae33e55 CPack: Change CPACK_PRODUCTBUILD_DOMAINS default to true (CMP0161)
Fixes: #23351
2024-01-28 21:09:12 +11:00
Craig Scott 4e7f2397e4 CPack: Clear temporary variable after it is no longer needed 2024-01-28 21:09:12 +11:00
Craig Scott 0534624b10 FortranCInterface: Skip appending an unnecessary newline to Output.cmake 2024-01-28 09:34:14 +11:00
Craig Scott 54cb65b197 ExternalProject: Prevent URL list-splitting on special characters
If a URL contains special characters like parentheses and a few others,
they would previously have caused a foreach() call that iterates over the
URLs to parse those special characters as separate, unquoted arguments.
They would then have effectively split the list of URLs at unexpected places.
Prepare the arguments for the foreach() call by using use bracket syntax
to robustly handle any URLs that do have unescaped special characters.

Issue: #25148
2024-01-28 09:24:37 +11:00
Craig Scott 1db1132c67 FortranCInterface: Fix wrong path when deciding if redetection is needed
d7c8030541 (FortranCInterface: Fix misuse of IS_NEWER_THAN in
timestamp check, 2021-02-21) updated the IS_NEWER_THAN logic, but it
introduced a couple of errors. 2a00e5072d (FortranCInterface: Fix
regression in timestamp check, 2021-09-30) addressed one of those errors,
but there was still one left behind that wasn't noticed. The Output.cmake
file is in the build directory, but there was still one reference to it that
incorrectly used a path to it in the source directory.

Issue: #22709
2024-01-27 12:27:49 +11:00
Craig Scott aab6be9aad ExternalProject: Catch empty REMOTE or LOCAL earlier
If we are given an empty string for URL, or we have a logic error that leads
to the file we download to being an empty string, we will now catch this at
CMake configure time instead of whenever the download is attempted at
build time.
2024-01-27 11:44:01 +11:00