Commit Graph

13913 Commits

Author SHA1 Message Date
Brad King
c5c524394e Merge topic 'ExternalProject-list-separator-docs-example' into release-3.29
5d33f41e23 ExternalProject: reword `LIST_SEPARATOR` to indicate what it *does*
611ffce98c ExternalProject: add an example of `LIST_SEPARATOR` usage

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9376
2024-03-28 11:51:02 -04:00
Ben Boeckel
5d33f41e23 ExternalProject: reword LIST_SEPARATOR to indicate what it *does*
Also remove the (IMO) confusing suggestion to have ` ` as a separator as
it interferes with things like spaces in argument values (e.g., paths)
or generated arguments such as `-GUnix Makefiles`. The new example is
likely more common usage of the facility.
2024-03-28 10:36:31 -04:00
Ben Boeckel
611ffce98c ExternalProject: add an example of LIST_SEPARATOR usage 2024-03-28 10:36:31 -04:00
Brad King
d0272bea04 Merge topic 'FindPkgConfig-no-Strawberry-Perl' into release-3.29
d0dd134bdb FindPkgConfig: Avoid finding Strawberry Perl's pkg-config

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9375
2024-03-27 08:17:05 -04:00
Brad King
d0dd134bdb FindPkgConfig: Avoid finding Strawberry Perl's pkg-config
Strawberry Perl may be in the `PATH` to provide `perl`, but it also
comes with a `pkg-config` tool that is unrelated to normal MinGW
distributions.  Since commit c6efbd78d8 (MSVC: Teach find_library to
consider the 'libfoo.a' naming convention, 2024-01-19, v3.29.0-rc1~91^2)
we need to avoid searching Strawberry Perl's `.../c/lib` directory, so
do not let its `pkg-config` point us there.

Fixes: #25820
Issue: #23975
2024-03-26 08:51:32 -04:00
Brad King
a80d8e839d IntelLLVM: Revert accidental use of -external:I with Fortran compilers
In commit 8218aed118 (IntelLLVM: support marking include paths as SYSTEM
directories, 2023-08-15, v3.29.0-rc1~81^2) this flag was added for the C
and C++ compilers, but was accidentally added for Fortran too.  Remove
it for the latter, as it is unsupported.

Issue: #25807
2024-03-24 15:03:11 -04:00
scivision
bade9832e6 FindMatlab: R2024a version map 2024-03-21 10:13:59 -04:00
Brad King
3135a99467 Merge topic 'package-dispatch-apple' into release-3.29
85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
be642f6ed5 generate_apple_architecture_selection_file: Simplify signature
8959ad9db1 Tests/RunCMake/CMakePackage: Fix Apple architecture selection argument order
677f3d721b Tests/RunCMake/CMakePackage: Add architecture i386 for macOS on Xcode < 10

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9349
2024-03-20 09:51:43 -04:00
Brad King
85d6d3b2e3 generate_apple_*_selection_file: Add option to capture errors
Add an option to capture error messages in a variable instead of
terminating with a fatal error.

Fixes: #25778
2024-03-19 09:52:32 -04:00
Brad King
2149dbd379 generate_apple_architecture_selection_file: Document $(ARCHS_STANDARD) support
Also add a test case.

Fixes: #25780
2024-03-19 09:52:32 -04:00
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
Craig Scott
31fb693d06 Help: Fix typos and grammar in pre-3.29 docs 2024-03-19 21:47:21 +11: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