Commit Graph

11684 Commits

Author SHA1 Message Date
Daniel Schürmann
0665d9092e CMakeDependentOption: Allow parentheses in the depends string
`if()` takes the condition as a list of arguments.
Parentheses need to be separated as well.

Fixes: #22303
2021-06-14 13:45:49 -04:00
Brad King
6b218d2e26 Merge topic 'objc-std-17-23'
e8dc95ae1e ObjectiveC: Add C17 and C23 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Reviewed-by: Raul Tambre <raul@tambre.ee>
Merge-request: !6219
2021-06-14 09:49:22 -04:00
Brad King
13b40c1ea2 Merge topic 'FindBLAS-LAPACK-docs'
5bf1651452 Find{BLAS,LAPACK}: Revise and extend Intel MKL usage documentation
8585a12bd9 Find{BLAS,LAPACK}: Move enabled language requirement to top of documentation
6a7c055f96 Find{BLAS,LAPACK}: Revise formatting of intro docs
43b581367d Find{BLAS,LAPACK}: Move implementation note from docs to comments
3beac78a13 Find{BLAS,LAPACK}: Revise imported targets documentation layout
6f305cd5fd Find{BLAS,LAPACK}: Factor out vendor documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6218
2021-06-14 09:48:37 -04:00
Gregor Jasny
e8dc95ae1e ObjectiveC: Add C17 and C23 support
Issue: #22297
2021-06-11 14:47:23 +02:00
Brad King
5bf1651452 Find{BLAS,LAPACK}: Revise and extend Intel MKL usage documentation
Fixes: #22295
2021-06-11 08:41:25 -04:00
Brad King
8585a12bd9 Find{BLAS,LAPACK}: Move enabled language requirement to top of documentation 2021-06-11 08:40:37 -04:00
Brad King
6a7c055f96 Find{BLAS,LAPACK}: Revise formatting of intro docs 2021-06-11 08:02:59 -04:00
Brad King
43b581367d Find{BLAS,LAPACK}: Move implementation note from docs to comments 2021-06-11 08:00:22 -04:00
Brad King
3beac78a13 Find{BLAS,LAPACK}: Revise imported targets documentation layout 2021-06-11 07:58:15 -04:00
Brad King
6f305cd5fd Find{BLAS,LAPACK}: Factor out vendor documentation
Move the list of vendors to a dedicated section shared by both modules.
Format it as a definition list.
2021-06-11 07:51:37 -04:00
Peter Knowles
130fa72bb3 Find{BLAS,LAPACK}: Update for Intel oneAPI structure under MKLROOT
Add search paths for the Intel oneAPI MKL directory structure
so that we do not rely on paths in `LD_LIBRARY_PATH`.
2021-06-11 06:55:09 -04:00
Brad King
4217e1cf3a Merge topic 'FindBLAS-mkl-gnu'
daa0a1f877 Find{BLAS,LAPACK}: Add tests covering Intel MKL with GNU compiler
624110b90d FindBLAS: Revert "Do not statically link against iomp5 ... Intel MKL"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !6213
2021-06-11 06:05:54 -04:00
Brad King
624110b90d FindBLAS: Revert "Do not statically link against iomp5 ... Intel MKL"
Since commit 20ab504591 (FindBLAS: Do not statically link against iomp5
in the case of Intel MKL, 2021-04-11), we no longer find MKL's BLAS when
using the GNU compiler because FindOpenMP chooses libgomp instead of
libiomp5, and mkl_intel_thread depends on the latter.  Revert the change
for now.  A new approach will be needed to solve the original problem.

Issue: #21811
2021-06-10 12:39:00 -04:00
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