Commit Graph

13402 Commits

Author SHA1 Message Date
Brad King
20c7219f8f Merge topic 'iar-align-output-extension'
cfec4c1c5e IAR: Enforce output extension for xlink targets
7fec8f993b IAR: Replace extension for compiler and assembler

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8477
2023-05-16 10:44:23 -04:00
Brad King
a59b35ba33 Merge topic 'msvc-wine-showIncludes'
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: huangqinjin <huangqinjin@gmail.com>
Merge-request: !8479
2023-05-16 10:40:09 -04:00
Raul Tambre
0183956d30 Clang: C++26 support
Added in LLVM commit b763d6a4ed4650c74c6846d743156468563b0e31.
This time the final flag form is supported from the get-go to reduce churn.
2023-05-16 09:51:07 +03:00
Brad King
fb3c4715cd Ninja: Restore detection of msvc-wine showIncludes prefix
Since commit 8f82e755f3 (Ninja: Fix detection of MSVC showIncludes
prefix in Italian, 2023-01-26, v3.26.0-rc1~20^2) our regex no longer
matches the output from `msvc-wine`, which uses forward slashes:

    Note: including file: /path/to/foo.h

`cl /showIncludes` under Wine prints paths of the form `Z:\path\to\file`,
but the `msvc-wine` wrapper converts them to the form `/path/to/file` so
that native Ninja can be used.  Update our regex to match the prefix
followed by a path with a leading forward slash.

Fixes: #24908
2023-05-15 15:34:55 -04:00
Joakim Lönnberg
cfec4c1c5e IAR: Enforce output extension for xlink targets 2023-05-12 13:58:32 +02:00
Brad King
c568a6bcf2 Merge topic 'ExternalProject-touch-echo'
3bf0830e44 ExternalProject: Avoid adding empty touch command on "ALWAYS" steps

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Acked-by: Craig Scott <craig.scott@crascit.com>
Merge-request: !8468
2023-05-11 10:07:02 -04:00
Antonio Caggiano
3bf0830e44 ExternalProject: Avoid adding empty touch command on "ALWAYS" steps
The problem fixed by commit c0b749cf62 (ExternalProject: Always add a
command to a step, 2014-11-05, v3.2.0-rc1~402^2~3) may occur for an
empty `COMMAND ${touch}` too, so avoid specifying any `COMMAND` at all
if there is no touch command.
2023-05-10 09:56:31 -04:00
Brad King
4490a0c266 Merge topic 'dankm/tcsuffix'
6a82852dc2 Allow toolchain suffix without leading dash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Reviewed-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !8462
2023-05-10 09:36:42 -04:00
Dan McGregor
6a82852dc2 Allow toolchain suffix without leading dash
FreeBSD installs both LLVM and gcc with tools named after the
major version, in the form "clang<major>", such as "clang16".

Detect compilers named this way, and find the related toolchain
tools.
2023-05-08 18:09:27 -06:00
Raul Tambre
eacacc70fc Clang: use -std=c++23 for Clang 17.0+
Canonical flag changed in LLVM commit ba15d186e5cef2620d562c6c9d9a6d570382cd0a.
2023-05-08 20:26:39 +03:00
Joakim Lönnberg
7fec8f993b IAR: Replace extension for compiler and assembler 2023-05-08 15:35:53 +02:00
Brad King
76940fecde Merge topic 'FindCUDAToolkit_more_library_root_detection'
587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8451
2023-05-05 12:34:54 -04:00
Robert Maynard
587c0443cc FindCUDAToolkit: Support CUDA version extraction from version.json
Fixes: #24858
2023-05-04 12:26:04 -04:00
Brad King
0d2d5a229c Merge topic 'use-linker-depfile'
375e6fdbbe Link step: use linker dependency linker file
24a3e5cda0 cmLocalGenerator::MayBeRelativeToWorkDir: take care of all cases

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8443
2023-05-04 09:06:23 -04:00
Marc Chevrier
375e6fdbbe Link step: use linker dependency linker file
Based on work done by @ben.boeckel (!8051)

Fixes: #22217
2023-05-03 17:08:07 +02:00
Brad King
202b2e1abd FindPython: Cross-reference Python_FIND_{STRATEGY,UNVERSIONED_NAMES}
Mention each variable in the documentation of the other.

Issue: #24878
2023-05-03 09:45:36 -04:00
Cordell Bloor
272fe88ac6 Find{BLAS,LAPACK}: Add AOCL BLIS/libFLAME
The AMD Optimizing CPU Libraries (AOCL) provide forks of BLIS and
libFLAME that are optimized for AMD "Zen" core architectures.

Closes: #23605
2023-05-02 10:56:15 -04:00
Brad King
c4cc346203 Merge topic 'FortranCInterface-verify-reuse'
967feaa435 FortranCInterface: Reuse primary detection results in VERIFY function

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8448
2023-05-02 08:47:47 -04:00
Brad King
5b4ed96ddc Merge topic 'FindX11-even-more-xcb-components'
65ade59835 FindX11: Remove HAS_X11_xcb check from xcb tests
b1b7298b17 FindX11: Fix typo bug, xvmc -> xv
922a97f38a FindX11: Add tests for newly added xcb libraries
7a2b02e000 FindX11: Fix existing tests
9d21d115c6 FindX11: Add more components to FindX11 tests
858fd8ece8 FindX11: Add many new xcb modules
45c3831369 FindX11: Arrange xcb modules in proper alphabetical order
a0d8556bf7 FindX11: Change find_path search string for Xaw

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8366
2023-05-02 08:41:43 -04:00
Brad King
2e7932054b Merge topic 'findjni_new_ubuntu_versions'
7f738313e0 FindJNI: add Ubuntu specific paths for more recent JDK versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8449
2023-05-02 08:39:53 -04:00
Brad King
5532fcb8f9 Merge topic 'findjni_new_ubuntu_versions' into release-3.26
7f738313e0 FindJNI: add Ubuntu specific paths for more recent JDK versions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8449
2023-05-02 08:39:51 -04:00
Even Rouault
7f738313e0 FindJNI: add Ubuntu specific paths for more recent JDK versions 2023-05-01 22:26:07 +02:00
Brad King
967feaa435 FortranCInterface: Reuse primary detection results in VERIFY function
Since commit 14f7a043e3 (Teach FortranCInterface to load outside
results, 2009-08-24, v2.8.0~262) we support passing the detection
results into `try_compile` by forwarding `FortranCInterface_BINARY_DIR`.
Use this in `FortranCInterface_VERIFY` to avoid repeating detection.
2023-05-01 15:51:21 -04:00
Brad King
4bb13d6a5b Merge topic 'cpack-inno-setup'
1d6db66179 CPack: Add Inno Setup generator
9b0dc652ff ci: Provide Inno Setup tools to some Windows CI jobs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8399
2023-05-01 11:35:46 -04:00
Brad King
f9da4cf8f1 Merge topic 'FindDoxygen-custom-config-file'
5ee19d5746 FindDoxygen: Optionally use custom config file

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8439
2023-04-28 10:14:24 -04:00
Brad King
ebf3f48dab Merge topic 'modules-if-deref'
21e13f2416 CMakeDetermineCXXCompiler: Avoid if() quoted auto-dereference

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8438
2023-04-28 10:10:39 -04:00
Brad King
3df699544b Merge topic 'update_FindCUDAToolkit_nvrtc_notes'
0e0eb12918 FindCUDAToolkit: Update nvrtc section to clarify a static version exists

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8436
2023-04-28 10:09:40 -04:00
Brad King
9b463cc4b5 Merge topic 'iar-silent-flag'
01e944128d IAR: Move linker silencing flag to CMAKE_EXE_LINKER_FLAGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8421
2023-04-28 10:08:22 -04:00
Jannik Alber
1d6db66179 CPack: Add Inno Setup generator 2023-04-28 09:33:28 -04:00
Le Go
5ee19d5746 FindDoxygen: Optionally use custom config file 2023-04-27 16:54:00 -04:00
Brad King
21e13f2416 CMakeDetermineCXXCompiler: Avoid if() quoted auto-dereference
This was missed by commit 29c3edb87a (Avoid if() quoted
auto-dereference, 2014-10-14, v3.2.0-rc1~501^2).

Fixes: #24859
2023-04-27 12:13:22 -04:00
Brad King
582c17bdd2 Merge topic 'ninja-nvhpc-fortran-Werror'
0f6a1dd3ed Ninja: Revert "Exclude NVHPC -Werror flags during Fortran preprocessing"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8435
2023-04-27 09:40:21 -04:00
Craig Scott
0ca98beb57 Merge topic 'ExternalProject-relative-git-urls'
550f63447d ExternalProject/FetchContent: Support relative remote URLs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !7988
2023-04-27 09:12:26 -04:00
Robert Maynard
0e0eb12918 FindCUDAToolkit: Update nvrtc section to clarify a static version exists
Fixes #24798
2023-04-27 08:53:32 -04:00
Brad King
0f6a1dd3ed Ninja: Revert "Exclude NVHPC -Werror flags during Fortran preprocessing"
Revert commit 6b58cdd4cf (Ninja: Exclude NVHPC -Werror flags during
Fortran preprocessing, 2023-04-04).  Since commit 9d40f01442 (NVHPC: Use
-Werror for COMPILE_OPTIONS_WARNING_AS_ERROR, 2023-04-13), `nvfortran`
can handle the plain `-Werror` flag during preprocessing.

Issue: #24665
2023-04-26 14:36:46 -04:00
Michael Karcher
ca6e81a31f VS/Android: Deduce processor type from CMAKE_GENERATOR_PLATFORM
Closes: #24839
2023-04-26 18:11:23 +02:00
Felipe Torrezan
01e944128d IAR: Move linker silencing flag to CMAKE_EXE_LINKER_FLAGS
The IAR linker silencer flag was previously hardcoded in
`CMAKE_${lang}_LINKER_EXECUTABLE`.  Move the flag to a place that is
under the end user's control.  The default behavior (silenced linker) is
not changed.

Fixes: #24828
2023-04-26 10:48:31 -04:00
Brad King
d5d06ec444 Merge topic 'vs2022-android'
16d8b65bc0 VS/Android: Use safe API level when detecting the NDK directory
f7af10100c VS/Android: Detect full NDK root instead of sysroot
850ee280e0 VS/Android: Set API level explicitly during compiler identification
5d5b6c741d VS/Android: Do not specify Windows Runtime library type during compiler id
e78abf94e3 VS/Android: Use ApplicationTypeRevision 3.0 in VS2022

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8426
2023-04-26 10:28:38 -04:00
Brad King
1ac569fdaa Merge topic 'fortran_ninja_compile_as_warning'
9d40f01442 NVHPC: Use -Werror for COMPILE_OPTIONS_WARNING_AS_ERROR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8415
2023-04-26 10:24:28 -04:00
Brad King
b92e21cab8 Merge topic 'FindCUDAToolkit-static-deps'
1d6c343661 FindCUDAToolkit: Add missing static library dependencies on pthread and libdl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8422
2023-04-26 10:22:27 -04:00
Brad King
b548c7efa6 Merge topic 'FindCUDAToolkit-static-deps' into release-3.26
1d6c343661 FindCUDAToolkit: Add missing static library dependencies on pthread and libdl

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8422
2023-04-26 10:22:26 -04:00
Brad King
768c36e256 Merge topic 'FindCUDAToolkit_nvrtc_windows_dependencies'
11a9f88bdf FindCUDAToolkit: Fix nvrtc_static dependencies on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8405
2023-04-26 10:21:13 -04:00
Robert Maynard
1d6c343661 FindCUDAToolkit: Add missing static library dependencies on pthread and libdl
Discourse-topic: https://discourse.cmake.org/t/7946
2023-04-26 10:19:59 -04:00
Chris Wright
550f63447d ExternalProject/FetchContent: Support relative remote URLs
Teach `ExternalProject_Add` and `FetchContent_Declare` to resolve
relative remote URLs provided via `GIT_REPOSITORY`.  Add policy
CMP0150 to maintain compatibility.

Fixes: #24211
Co-Authored-By: Craig Scott <craig.scott@crascit.com>
2023-04-26 16:30:36 +08:00
Michael Karcher
16d8b65bc0 VS/Android: Use safe API level when detecting the NDK directory 2023-04-25 13:49:03 -04:00
Michael Karcher
f7af10100c VS/Android: Detect full NDK root instead of sysroot
Visual Studio always uses a complete NDK and not a standalone toolchain.
Let CMake handle the NDK and related logic correctly, avoid trying to
find the standalone toolchain version from the unified clang toolchain
in newer NDKs.
2023-04-25 13:48:33 -04:00
Michael Karcher
850ee280e0 VS/Android: Set API level explicitly during compiler identification
VS2022 defaults to API 31 in 64-bit builds.  This breaks if you combine
VS2022 with an older Android NDK.
2023-04-25 13:47:17 -04:00
Michael Karcher
5d5b6c741d VS/Android: Do not specify Windows Runtime library type during compiler id
The VS2022 Clang toolchain adds some windows libraries to the linked
library list if RuntimeLibrary is set, even if the Project is targeting
Android.  This causes an unexpected linker failure.
2023-04-25 13:46:10 -04:00
Michael Karcher
e78abf94e3 VS/Android: Use ApplicationTypeRevision 3.0 in VS2022
Visual Studio 17 (Marketing name: Visual Studio 2022) still ships with
"3.0" as most recent Variant of the Android application type.
Use this revision.
2023-04-25 13:45:37 -04:00
Robert Maynard
11a9f88bdf FindCUDAToolkit: Fix nvrtc_static dependencies on Windows
Required for CUDA toolkit 11.5:

* https://docs.nvidia.com/cuda/archive/11.5.0/nvrtc/index.html#build-instruction
2023-04-25 13:37:19 -04:00