Commit Graph

13867 Commits

Author SHA1 Message Date
Brad King ce3fca2e65 Merge topic 'fphsa-version-message'
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:21 -05:00
Brad King 837da1e482 Merge topic 'FindVulkan-glslang-14'
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:03 -05:00
Brad King 761254eca1 Merge topic 'findmatlab-registry-lookup-without-versionxml'
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:13 -05:00
Brad King 35fa80a498 Merge topic 'clang-cl-showIncludes'
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:54 -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 b8ed46eade Merge topic 'post-rel-dev'
ba6f3f25ee Configure CMake itself with policies through CMake 3.28
c432365e10 export: Increase maximum policy version in exported files to 3.28
9c5e981e60 Add deprecation warnings for policies CMP0128 and below

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !9224
2024-02-07 09:22:32 -05:00
Brad King 7839de1a86 Merge topic 'binutils-objcopy'
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:23 -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
Brad King c432365e10 export: Increase maximum policy version in exported files to 3.28
The files generated by `install(EXPORT)`, `export()`, and
`install_jar_exports()` commands are known to work with policies
as of CMake 3.28, so enable them in sufficiently new CMake versions.
2024-02-06 17:07:16 -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 6c3ab39109 Merge topic 'revert-FindFreetype-use-config' into release-3.28
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:11 -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 f6c9da9154 Merge topic 'find-matlab-docs-mcr-version-mapping' into release-3.28
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:08 -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