Commit Graph

13902 Commits

Author SHA1 Message Date
Brad King
be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
Allow callers to pass multiple values to list-valued arguments
instead of putting the entire list in a single quoted argument.

Fixes: #25779
2024-03-19 09:52:32 -04:00
Brad King
8f0801cacc Merge topic 'LINKER_TYPE-mold-support' into release-3.29
801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
939ac5287e LINKER_TYPE: fix spelling error in message
922883782b LINKER_TYPE: Document that linker tool should be in the PATH

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9334
2024-03-14 11:45:13 -04:00
Brad King
d93a7c18d8 Merge topic 'fc-MakeAvailable-leak-var' into release-3.29
2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !9338
2024-03-14 11:44:00 -04:00
Marc Chevrier
801ae06952 LINKER_TYPE: Support MOLD only on GCC versions that support it
Fixes: #25748
2024-03-13 11:13:21 -04:00
Craig Scott
2b68048bdb FetchContent: Don't leak temporary variable and restore var robustly
In FetchContent_MakeAvailable(), the __fcprefix__ previously used
when pushing the value of CMAKE_EXPORT_FIND_PACKAGE_NAME
to the variable stack is not needed. The stack will never be empty
at that point, so pushing an empty value will be handled correctly.
By removing the __fcprefix__, we no longer need any temporary
variable when restoring CMAKE_EXPORT_FIND_PACKAGE_NAME.

But we need to ensure CMAKE_EXPORT_FIND_PACKAGE_NAME is
left undefined if it wasn't defined before, and pushing an empty
value doesn't let us distinguish between unset and set-but-empty.
Therefore, when CMAKE_EXPORT_FIND_PACKAGE_NAME is undefined,
push a specific value that can't be used by the project instead and
check for that when popping it again. This ensures we can robustly
distinguish the two cases and will always restore the right state.

Fixes: #25758
2024-03-13 17:27:18 +11:00
Brad King
e572986231 LinkerId: Update detection of linker tool for Xcode 15.3
Xcode now prints extra `ExecuteExternalTool` lines that happen to
mention the linker tool, but not in conjunction with actually linking
something.  Ignore them.
2024-03-12 09:48:01 -04:00
Brad King
d914c76d63 Merge topic 'llvm-objdump' into release-3.29
c51f84b96a GET_RUNTIME_DEPENDENCIES: Allow more whitespace before objdump's "DLL Name:"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9325
2024-03-11 10:15:16 -04:00
Alexander Neumann
c34ef6c922 ASM_MARMASM: Remove broken partial support for preprocessor defines
Avoid passing unsupported options to the assembler.

In commit 3166547cf6 (ASM_MARMASM: Add support for Microsoft ARM
assembler language, 2022-10-14, v3.26.0-rc1~383^2) we copied the
assembler command line from `CMakeASM_MASMInformation`, but the
`marmasm` tool does not accept `-D` command-line options.

Issue: #24317
2024-03-10 11:20:20 -04:00
Adrian Pop
c51f84b96a GET_RUNTIME_DEPENDENCIES: Allow more whitespace before objdump's "DLL Name:"
LLVM's `llvm-objdump` has spaces before "DLL Name:" instead of tabs.
2024-03-10 11:03:21 -04:00
Charlie Savage
c2bf3e46fa FindRuby: Fix finding Ruby 3.1+ on Windows
It switched to the UCRT C runtime.
2024-03-05 08:47:59 -05:00
Charlie Savage
867550db43 FindRuby: Add support for 3.3 2024-03-05 08:46:29 -05:00
Brad King
e80ad5809b Merge topic 'FindTIFF-cmake-package' into release-3.29
b6b2f73f36 FindTIFF: Fix name of upstream TIFF cmake package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9300
2024-03-01 08:59:50 -05:00
Brad King
b6b2f73f36 FindTIFF: Fix name of upstream TIFF cmake package
Since commit 6a3059e66f (FindTIFF: bridge `tiff-config` into
FindTIFF-compatible interface, 2023-09-14, v3.28.0-rc1~87^2)
we try to find the upstream TIFF cmake package.  However, it
is called `TiffConfig.cmake`, not `tiff-config.cmake`, so we
need to match the capitalization of the package name.
2024-02-29 08:47:53 -05:00
Brad King
9b4bbd26a9 Merge topic 'clang-use-arg1' into release-3.29
7008fc234b CMakeDetermineCompilerId: use `_ARG1` to query the clang resource dir

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9285
2024-02-27 09:05:12 -05:00
Ben Boeckel
7008fc234b CMakeDetermineCompilerId: use _ARG1 to query the clang resource dir
Other core queries do this, so do it here too.
2024-02-26 11:49:17 -05:00
Brad King
2c69f8abee Merge topic 'FindOpenSSL-SLP-layout' into release-3.29
1327e0ff75 FindOpenSSL: Update layout for Shining Light Productions package on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9283
2024-02-26 10:18:17 -05:00
Brad King
d427bfae61 FindOpenMP: Restore support for Intel compilers on Windows
Fix the condition added by commit 3019af64c2 (FindOpenMP: Add support
for GNU-like Clang targeting MSVC ABI, 2024-02-08, v3.29.0-rc1~8^2~1)
to be more specific.

Fixes: #25711
2024-02-23 09:37:03 -05:00
Matthias Isele
1327e0ff75 FindOpenSSL: Update layout for Shining Light Productions package on Windows
Fixes: #25702
2024-02-23 08:46:11 -05:00
Brad King
a4122c89c4 Merge topic 'cxxmodules-clang-resource-dir' into release-3.29
a3ada1a241 Clang: detect -resource-dir for clang-scan-deps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9274
2024-02-22 08:23:58 -05:00
Ben Boeckel
a3ada1a241 Clang: detect -resource-dir for clang-scan-deps
When cross-compiling, `clang-scan-deps` needs help to find the correct
location of core headers such as `stddef.h`. Always determine this path
and pass it when available.

Fixes: #25590
2024-02-21 08:51:42 -05:00
Brad King
559231aec3 Merge topic 'doc-install-relative-paths' into release-3.29
af293ff7c3 Help: Explicitly discourage absolute install destinations

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9261
2024-02-16 10:08:18 -05:00
Robert Maynard
af293ff7c3 Help: Explicitly discourage absolute install destinations
Document some of the problems caused by absolute install destinations.
Encourage use of relative paths.
2024-02-16 09:53:55 -05:00
Ruslan Baratov
2d72a861d7 IPO: Support duplicate object names in large archives
Apply the fix from commit 1ec6485c6a (Support duplicate object names in
large archives, 2014-04-16, v3.1.0-rc1~629^2) to the IPO-specific
archiving rules.  Use "quick append" instead of "replace".

Fixes: #25675
Issue: #14874
2024-02-15 11:08:45 -05:00
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