Commit Graph

13854 Commits

Author SHA1 Message Date
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
Craig Scott
e72791ecf6 ExternalProject: Update foreach() calls to use IN LISTS and IN ITEMS 2024-01-27 11:07:36 +11:00
Craig Scott
873b2ad2eb ExternalProject: Remove N^2 add_dependencies() calls
ExternalProject_Add_StepDependencies() contained a foreach() loop that
had another foreach() loop inside it iterating over the same set of values
(the dependencies). This resulted in add_dependencies() calls that added
the same dependencies to the step target N^2 times. A single call to
add_dependencies() with the list of dependencies provides the necessary
relationships without the N^2 behavior, and it removes the inner foreach()
loop.
2024-01-27 11:06:38 +11:00
Brad King
5351a2b170 Merge topic 'revert-FindFreetype-use-config'
b5725ae619 FindFreetype: Revert use of upstream freetype cmake package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9187
2024-01-26 10:12:12 -05:00
Brad King
8e7960773f Merge topic 'find-matlab-docs-mcr-version-mapping'
29fece7ef3 FindMatlab: Document that version mappings do not apply to MCR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9184
2024-01-26 10:11:09 -05:00
Brad King
ebef793519 Merge topic 'find-matlab-fix-nonzero-patch-version'
b1e27b1b9d FindMatlab: Some versions use major.minor.patch in the registry

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9183
2024-01-26 10:10:02 -05:00
Brad King
b5725ae619 FindFreetype: Revert use of upstream freetype cmake package
The upstream freetype cmake package uses generator expressions and
imported target to express its dependencies.  That's fine on its own.
However, our use of it since commit d83d925045 (FindFreetype: use
`freetype-config.cmake` if available, 2023-09-06, v3.28.0-rc1~130^2)
causes the `FREETYPE_LIBRARIES` result variable to reference those
imported targets and create a package-level dependency for clients that
did not exist previously.  Revert that change for now, along with its
follow-up fixes.  Further investigation will be needed to solve the
motivating use case another way.

Fixes: #25635
2024-01-25 14:45:49 -05:00
Brad King
4c4cd1246e Merge topic 'cpack-wix-msi-status'
3ed275bbb6 CPack/WiX: Fix installer status text

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9182
2024-01-25 10:33:12 -05:00
Hermann von Kleist
29fece7ef3 FindMatlab: Document that version mappings do not apply to MCR 2024-01-25 09:00:18 +01:00
Hermann von Kleist
b1e27b1b9d FindMatlab: Some versions use major.minor.patch in the registry
Fixes #25631.
2024-01-25 08:54:01 +01:00
Brad King
3ed275bbb6 CPack/WiX: Fix installer status text
Previously, installers displayed extra text on some Windows versions:

    File: [1], Directory: [9], Size [6]

Add an option to our WiX templates to suppress that.

Fixes: #25634
2024-01-24 15:28:13 -05:00
Ben Boeckel
8218aed118 IntelLLVM: support marking include paths as SYSTEM directories
Also learn how to suppress warnings when possible.

See: https://discourse.cmake.org/t/icx-on-windows-supports-external-i/8739
2024-01-24 14:21:05 -05:00
Brad King
ad50700038 Merge topic 'cpack-rpm-threads'
453742ae88 CPack/RPM: Enable rpm threads during package generation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !9178
2024-01-24 08:39:54 -05:00
Brad King
e855c7a4de Merge topic 'FindMatlab-docs'
b8665d44ba FindMatlab: Fix error message from function
44d2cf3ed4 FindMatlab: Document all registry paths for version lookup
363a7d4693 FindMatlab: matlab_get_release_name_from_version is a function now

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: scivision <michael@scivision.dev>
Merge-request: !9175
2024-01-23 14:57:08 -05:00
Brad King
4571ce5f1a Merge topic 'cuda-clang-windows'
88c740462c CUDA/Clang: Add support for MSVC ABI on Windows using GNU-like frontend

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !9172
2024-01-23 14:56:16 -05:00
Elijah Zarezky
453742ae88 CPack/RPM: Enable rpm threads during package generation
Previously, `w7.xzdio` only used a single CPU core.
Honor `CPACK_THREADS`: `w7T${CPACK_THREADS}.xzdio` uses the specified
number of threads. `w7T.xzdio` uses all available CPU cores.

Fixes: #25615
2024-01-23 12:10:35 -05:00
Brad King
88c740462c CUDA/Clang: Add support for MSVC ABI on Windows using GNU-like frontend
Fixes: #20776
2024-01-22 09:33:54 -05:00
Hermann von Kleist
b8665d44ba FindMatlab: Fix error message from function 2024-01-22 09:29:57 -05:00
Hermann von Kleist
44d2cf3ed4 FindMatlab: Document all registry paths for version lookup 2024-01-22 09:29:09 -05:00
Hermann von Kleist
363a7d4693 FindMatlab: matlab_get_release_name_from_version is a function now 2024-01-22 09:28:04 -05:00
Brad King
5d1e689e68 Merge topic 'find_library-msvc-libfoo.a'
c6efbd78d8 MSVC: Teach find_library to consider the 'libfoo.a' naming convention

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9173
2024-01-22 09:19:09 -05:00
Brad King
5f415b9b15 Merge topic 'FindMPI.IntelLLVM'
5e700411d2 FindMPI: add IntelLLVM MPI wrappers

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9170
2024-01-22 09:18:28 -05:00
Brad King
c6efbd78d8 MSVC: Teach find_library to consider the 'libfoo.a' naming convention
When targeting the GNU ABI, we consider `.a` libraries first but also
accept `.lib`.  For symmetry, when targeting the MSVC ABI, we now
consider `.lib` first but also accept `.a`.

This adds support for meson-generated static libraries, which are named
with the pattern `lib${foo}.a`:

* https://mesonbuild.com/FAQ.html#why-does-building-my-project-with-msvc-output-static-libraries-called-libfooa

Note that this was previously attempted by

* commit be848a71b0 (MSVC: Teach find_library to consider the 'libfoo.a'
                     naming convention, 2022-09-19, v3.25.0-rc1~111^2)

but was reverted by

* commit 955d6245c1 (MSVC: Revert "Teach find_library to consider the
                     'libfoo.a' naming convention", 2022-11-28, v3.25.1~6^2)

due to problems finding GNU ABI libraries in PATH-derived prefixes.
Since then,

* commit 0a81110b84 (find_(library|file|path): Drop PATH-derived search
                     prefixes, 2023-09-14, v3.28.0-rc1~91^2)

removed the problematic search paths, so we can restore this change.

Fixes: #23975
2024-01-19 17:12:36 -05:00
Eisuke Kawashima
5e700411d2 FindMPI: add IntelLLVM MPI wrappers
The Intel MPI library now provides `mpiicx`, `mpiicpx`, and `mpiifx`
wrappers, which respectively use `icx`, `icpx`, and `ifx` by default.
2024-01-19 15:30:10 -05:00