Commit Graph

11671 Commits

Author SHA1 Message Date
Brad King
3394dcb64f Merge topic 'irsl-intel-oneapi-windows'
6d4c51c29e IRSL: Add Intel oneAPI redist location on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6199
2021-06-09 07:56:28 -04:00
Brad King
7aad9e8685 Merge topic 'add_hip_language'
8514ee9b31 HIP: analyze output of `hipcc` to determine default GPU architecture
20d086f1a2 HIP: All HIP tests now run on CMake's current AMD hardware
2e86e50c2f HIP: Add HIP to all the Check* modules
947dbed0aa HIP: Automatically inject the `hip::device` runtime target
b50bfc8913 HIP: Add language to CMake
ff0d2858e1 HIP: Extract clang compiler details from hipcc
bd844387df ROCMClang: Add the ROCm toolkit derived clang compiler to CMake
590553f322 Compilers: protect use of  __has_include
...

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Zack Galbreath <zack.galbreath@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Merge-request: !6121
2021-06-09 07:53:32 -04:00
Brad King
6d4c51c29e IRSL: Add Intel oneAPI redist location on Windows
Fixes: #22283
2021-06-08 09:07:37 -04:00
Brad King
df1398aa97 Merge topic 'openssl-static'
98fa09d5be FindOpenSSL: Link with ws2_32 and crypt32 on Windows/static

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6197
2021-06-08 08:05:37 -04:00
Brad King
105e108836 Merge topic 'cpack-deb-minor-fixes'
ed1f3a5fa5 CPackDeb: output the error message when no description can be made
ece24b343a Help/cpack_gen/freebsd: improve wording for Debian fallbacks

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Kyle Edwards <kyle.edwards@kitware.com>
Merge-request: !6196
2021-06-08 08:01:44 -04:00
Brad King
34eefc6ea3 Merge topic 'FindPkgConfigAlwaysAddTarget'
6f14205e08 FindPkgConfig: Always create the imported target
07d6390728 Tests: Add case covering FindPkgConfig creation of empty targets

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6113
2021-06-08 08:00:24 -04:00
Zack Galbreath
8514ee9b31 HIP: analyze output of hipcc to determine default GPU architecture 2021-06-07 19:25:34 +00:00
Robert Maynard
2e86e50c2f HIP: Add HIP to all the Check* modules 2021-06-07 19:25:33 +00:00
Robert Maynard
947dbed0aa HIP: Automatically inject the hip::device runtime target
Any target that might need to link to hip code needs the `hip::device`
target
2021-06-07 19:25:33 +00:00
Robert Maynard
b50bfc8913 HIP: Add language to CMake 2021-06-07 19:25:33 +00:00
Robert Maynard
ff0d2858e1 HIP: Extract clang compiler details from hipcc 2021-06-07 19:25:33 +00:00
Robert Maynard
bd844387df ROCMClang: Add the ROCm toolkit derived clang compiler to CMake 2021-06-07 19:25:28 +00:00
Zack Galbreath
590553f322 Compilers: protect use of __has_include
If the compiler does not have __has_include, pretend the answer is always no
2021-06-07 19:25:09 +00:00
Brad King
79e3c6221a Merge topic 'FindBoost-json-header'
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6193
2021-06-07 13:22:04 -04:00
Brad King
f092fe677f Merge topic 'FindBoost-json-header' into release-3.20
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !6193
2021-06-07 13:22:03 -04:00
Orgad Shaneh
98fa09d5be FindOpenSSL: Link with ws2_32 and crypt32 on Windows/static 2021-06-07 19:23:13 +03:00
Ben Boeckel
ed1f3a5fa5 CPackDeb: output the error message when no description can be made
The `message` command does not support automatic dereferencing.
2021-06-07 07:11:44 -04:00
John Drouhard
c44dfdfdbb FindBoost: Add check for json component header in Boost 1.75+
In commit 8293064760 (FindBoost: Add support for Boost 1.75, 2021-02-03,
v3.19.5~9^2) the dependencies of the json component were added, but the
header listing was left out.
2021-06-04 13:43:54 -04:00
Adam Badura
6f14205e08 FindPkgConfig: Always create the imported target
Fixes: #22180
2021-06-04 08:33:27 -04:00
Brad King
1d7fddca8e CMakeParseImplicitLinkInfo: Honor GNU static runtime library flags
With flags like `-static-libstdc++` or `-static-libgfortran`, the GNU
compiler driver adds `-Bstatic ... -Bdynamic` around its language
runtime library.  Convert the libraries in between these to absolute
paths so that mixed-language linking honors the static runtime
libraries.
2021-06-03 08:12:58 -04:00
Brad King
b25225bb61 Merge topic 'msvc_cxx20_23'
886e27062b Clang/MSVC: C++20 final flag, C++23 support
3aaf1d91bf MSVC: C++20 final flag, C++23 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Alex <leha-bot@yandex.ru>
Acked-by: Michael Hirsch <michael@scivision.dev>
Merge-request: !6174
2021-06-02 07:32:30 -04:00
Brad King
5eb2aa1f57 Merge topic 'link-objects-first'
3941555d93 target_link_libraries: Place $<TARGET_OBJECTS> before libraries
f530b3a267 OpenWatcom: Add infrastructure to link to object files
8a4ca110e4 cmComputeLinkInformation: Improve type safety of item IsPath member
83ad066ed1 cmComputeTargetDepends: Factor out helper to add object library dependency
7f506b95a7 cmGeneratorTarget: Refactor link item lookup
96809a8541 cmGeneratorTarget: Give temporary link impl item an explicit name
ddffbb8adb cmMakefile: Register explicit object sources more efficiently
18e42d3e63 cmGeneratorExpressionNode: Constify local variable

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6166
2021-06-01 08:35:56 -04:00
Brad King
54cc20137c Merge topic 'binutils-consistency'
9411766c35 BinUtils: Avoid llvm-objdump versions older than Clang 9

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6175
2021-06-01 08:35:04 -04:00
Marc Chevrier
a42add6cd6 UseJava: Add version for RESOURCES option 2021-05-30 14:53:05 +02:00
Raul Tambre
886e27062b Clang/MSVC: C++20 final flag, C++23 support
Added in LLVM commit a8f75d497daa2684a03909d7c31d5bce11b427e1, will be released
in 13.0.
2021-05-29 19:44:10 +03:00
Brad King
f530b3a267 OpenWatcom: Add infrastructure to link to object files 2021-05-29 09:28:36 -04:00
Brad King
9411766c35 BinUtils: Avoid llvm-objdump versions older than Clang 9
Since commit cf82300a63 (BinUtils: Clarify search logic and make it more
consistent, 2021-05-27) we correctly prefer the more-specific name
`llvm-objdump` over `objdump` when using Clang.  However, this breaks
`file(GET_RUNTIME_DEPENDENCIES)` with `llvm-objdump` from Clang 8 and
below.  Avoid those older versions of `llvm-objdump`.
2021-05-29 08:09:46 -04:00
Raul Tambre
3aaf1d91bf MSVC: C++20 final flag, C++23 support
Microsoft intends to ship the final C++20 flag in VS 16.11 albeit with a few
parts missing due planned ABI breaking changes.
The current 16.11 Preview 1 toolchain version is 19.29.30129.3, so let's
restrict based on that.
2021-05-29 13:35:45 +03:00
Bobby D Reynolds
ae108418ae Launchers: Support setting linker launchers
Fixes: #18316
2021-05-28 12:28:43 -04:00
Brad King
1143213e38 Merge topic 'binutils-consistency'
047585edc6 BinUtils: Find linker and librarian for Intel compilers on Windows
995f5b4e7b BinUtils: Find linker and librarian for OpenWatcom
cf82300a63 BinUtils: Clarify search logic and make it more consistent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6164
2021-05-28 12:24:10 -04:00
Robert Maynard
e609afeb5f WriteBasicConfigVersion supports version strings such as 21.07.04
Fixes #22207
2021-05-27 15:18:37 -04:00
Brad King
047585edc6 BinUtils: Find linker and librarian for Intel compilers on Windows
Update our Intel linker and archiver rules to use the `<CMAKE_LINKER>`
and `<CMAKE_AR>` placeholders instead of hard-coding the tool names.
2021-05-27 10:46:33 -04:00
Brad King
995f5b4e7b BinUtils: Find linker and librarian for OpenWatcom
Update our OpenWatcom linker and archiver rules to use the
`<CMAKE_LINKER>` and `<CMAKE_AR>` placeholders instead of
hard-coding the tool names.
2021-05-27 10:46:33 -04:00
Brad King
cf82300a63 BinUtils: Clarify search logic and make it more consistent
Consistently consider more-specific names before less-specific names.
2021-05-27 10:45:09 -04:00
Brad King
4296c31881 Merge topic 'compiler-ti-linker-response-file'
74a2a7a477 Compiler/TI: Restore response file usage for linker

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6159
2021-05-26 11:56:32 -04:00
Josef Angstenberger
74a2a7a477 Compiler/TI: Restore response file usage for linker
The commit 98fea8205e (Compiler/TI: Avoid response file usage for
linker, 2020-07-11, v3.19.0-rc1~495^2) disabled linker file usage by
default.  The previous settings were working, even if not for all cases.
Restore them and add an explanation in a comment.

Issue: #22233
2021-05-25 10:10:42 -04:00
Brad King
6b5be76b07 Merge topic 'find_cuda_deprecation'
15fda9384a FindCUDA: Improve deprecation guidance wording
e16b06f4b9 FindCUDA: Make the deprecation notice more prominent

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6153
2021-05-25 10:05:45 -04:00
PCJohn
668ba68a7a FindVulkan: add Vulkan::Headers and Vulkan::glslangValidator targets
The `Vulkan::Headers` target complements existing Vulkan::Vulkan target.
It is the same except it omits the Vulkan library which supports
applications that loads the Vulkan library in at runtime.

The `Vulkan::glslangValidator` target provides the glslangValidator
executable which is the tool for converting between shader languages
(GLSL, SPIR-V, etc.).
2021-05-24 12:53:15 -04:00
Raul Tambre
15fda9384a FindCUDA: Improve deprecation guidance wording
Simplified the text regarding adding sources to be more general as there's also
target_sources().

Improved the wording for FindCUDAToolkit to be more explicit of its usecase and
avoid using "superseded" since the common usecase of FindCUDA was superseded by
the language support.

Wording suggestions incopropated from discussion on #22203.
2021-05-22 11:39:19 +03:00
Raul Tambre
e16b06f4b9 FindCUDA: Make the deprecation notice more prominent
FindCUDA is still widely used, but has been superseded by the much more robust
native language support. However the deprecation hasn't been noticed well
enough and real-world experience shows there's still new code written to use
it.

Change this particular notice to a warning to get a hard to miss red box.
We lose the semantic meaning, but we don't want to make all notices like this.
If there are similar cases in the future requiring it would be worth adding a
custom variant of the deprecated directive.

Fixes #22203.
2021-05-22 11:38:52 +03:00
Brad King
bd0ccb73f2 Merge topic 'git-config-version-check'
8a9753e427 ExternalProject: Only add git config setting with git 1.7.7 or later

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6145
2021-05-21 10:36:56 -04:00
Craig Scott
8a9753e427 ExternalProject: Only add git config setting with git 1.7.7 or later
1cb65e680d (ExternalProject: Prevent the noisy detached head
messages on checkout, 2021-01-17) unconditionally added the advice.detachedHead
git config setting, but it requires git 1.7.7 or later. Since it isn't fatal to not
have it, just noisier, only add it when it is supported.

Fixes: #22206
2021-05-20 22:39:04 +10:00
Brad King
b78ba8bd31 Merge topic 'nvhpc-ninja-depfile'
364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6136
2021-05-19 07:54:42 -04:00
Brad King
c23e2fa0c5 Merge topic 'nvhpc-ninja-depfile' into release-3.20
364f6af1d7 NVHPC: Support Ninja dependency scanning
521cfc38a3 NVHPC: Support explicit language flags

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6136
2021-05-19 07:54:41 -04:00
Robert Maynard
364f6af1d7 NVHPC: Support Ninja dependency scanning
Fixes: #22168
2021-05-18 12:56:46 -04:00
Robert Maynard
521cfc38a3 NVHPC: Support explicit language flags 2021-05-18 11:30:01 -04:00
Brad King
f3b4605741 Merge topic 'doc-ep-configure-build-passthrough'
cf3bc271d1 Help: Clarify details passed to ExternalProject configure and build

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6135
2021-05-17 09:45:43 -04:00
Brad King
161f8f42c5 Merge topic 'IncludeInfo-var-expand'
caea48eec9 CMakeParseImplicitIncludeInfo: remove needless variable expansions

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6125
2021-05-17 09:41:43 -04:00
Craig Scott
cf3bc271d1 Help: Clarify details passed to ExternalProject configure and build
Fixes: #22116
2021-05-16 20:28:00 +10:00
Rolf Eike Beer
caea48eec9 CMakeParseImplicitIncludeInfo: remove needless variable expansions
They seem to actually cause trouble, like an error reported on IRC where some
but not all CMake invocations may end up with an error like this:

   CMake Warning (dev) at /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:74 (if):
     Policy CMP0054 is not set: Only interpret if() arguments as variables or
     keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
     details.  Use the cmake_policy command to set the policy and suppress this
     warning.

     Quoted keywords like ")" will no longer be interpreted as keywords when the
     policy is set to NEW.  Since the policy is not set the OLD behavior will be
     used.
   Call Stack (most recent call first):
     /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:179 (cmake_parse_implicit_include_line)
     /usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:119 (cmake_parse_implicit_include_info)
     /usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)
     CMakeLists.txt:24 (project)
   This warning is for project developers.  Use -Wno-dev to suppress it.

   CMake Error at /usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake:74 (if):
     if given arguments:

       "GNU" "STREQUAL" "SunPro" "AND" "(" ")" "MATCHES" "-D__SUNPRO_C" "OR" ")" "MATCHES" "-D__SUNPRO_F" ")"

I suspect that the line ends up being just ")", which then causes this error.
2021-05-13 17:52:13 +02:00