Commit Graph

10649 Commits

Author SHA1 Message Date
Brad King
26673bf480 Xcode: Explicitly specify default native architecture on macOS
When `CMAKE_OSX_ARCHITECTURES` is not specified, we add the Xcode
setting `ONLY_ACTIVE_ARCH = YES` with the intention of targeting the
native architecture of the host.  However, the default `ARCHS` value
chosen by "Xcode 12 Universal Apps" includes multiple architectures.
Add an explicit `ARCHS` setting with value `$(NATIVE_ARCH_ACTUAL)`
to tell Xcode to use the host's native architecture only.

Fixes: #20893
2020-07-20 10:03:15 -04:00
Raul Tambre
ff086f066b NVCC: Handle host compiler with spaces in path
Need to surround it with quotes otherwise the different bits are passed as
separate arguments.

Fixes #20954.
2020-07-14 22:27:58 +03:00
Brad King
d8cdec066a Merge topic 'irsl-intel-ia32' into release-3.18
f332ce12d6 IRSL: Fix path to Intel 32-bit redist libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4995
2020-07-10 06:43:58 -04:00
Brad King
2e290682b8 Merge topic 'FindOpenMP-version' into release-3.18
656d6ea821 FindOpenMP: Set version variables every time CMake runs

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4996
2020-07-10 06:42:43 -04:00
Brad King
8e71d199dc Merge topic 'FindJava-no-macos-stub' into release-3.18
e8051b1f20 FindJava: Update check to avoid accepting macOS stub 'java' as Java

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4993
2020-07-09 06:49:21 -04:00
Brad King
e69c64a144 Merge topic 'cuda-11-ptx-arch' into release-3.18
8707178c1c FindCUDA/select_compute_arch: generate PTX for the latest architecture

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4991
2020-07-09 06:47:42 -04:00
Brad King
6ce96dfbc7 Merge topic 'doc-CPack-source-package' into release-3.18
f8b7acaf90 Help: Fix CPack module docs on config file for source package

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4985
2020-07-09 06:46:41 -04:00
Torgeir Rusten
f332ce12d6 IRSL: Fix path to Intel 32-bit redist libraries
The path to the 32 bit libraries in the Intel windows/redist folder use
ia32.  I don't remember if this has changed at some point, but ia32 has
been used at least since Intel Fortran XE 2018.
2020-07-09 06:29:40 -04:00
Brad King
656d6ea821 FindOpenMP: Set version variables every time CMake runs
The version is determined in two steps.  First, the "spec date" is
detected and cached.  Second, the date is converted to a version.
Move the second step out of the spec date cache guard condition
so that it runs every time even if the spec date is already cached.

Fixes: #19150
2020-07-09 06:17:44 -04:00
Brad King
e8051b1f20 FindJava: Update check to avoid accepting macOS stub 'java' as Java
Since commit dd378258f1 (FindJava: Do not accept OS X stub 'java' as
Java, 2014-10-24, v3.1.0-rc3~29^2) we try to avoid using the macOS
`/usr/bin/java` stub if no underlying implementation of Java is actually
installed.  However, the message that `/usr/bin/java` prints when there
is no Java available has changed since then.  Update our check to also
look for the new message.

While at it, revise the way we suppress `Java_JAVA_EXECUTABLE`.
Previously we set its cache entry to `Java_JAVA_EXECUTABLE-NOTFOUND`,
but that would cause the same find-and-reject sequence to be followed
every time CMake runs in a build tree.  Instead, use the approach from
commit 2c0db404d1 (FindSubversion: Do not accept macOS stub without
Xcode implementation, 2020-05-28, v3.18.0-rc1~67^2).  Leave the cache
entry alone and just set a normal variable of the same name to hide it.
2020-07-08 16:17:40 -04:00
zasdfg bnm
8707178c1c FindCUDA/select_compute_arch: generate PTX for the latest architecture 2020-07-08 13:35:12 -04:00
Joachim Wuttke (h)
f8b7acaf90 Help: Fix CPack module docs on config file for source package 2020-07-08 08:36:00 -04:00
Brad King
cb0080d520 Merge topic 'FindMPI-nvcc-link-pthread' into release-3.18
33192e1b5f FindMPI: Pass -pthread to NVCC through -Xlinker for device linking

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4981
2020-07-08 08:26:43 -04:00
Brad King
bc185531fa Merge topic 'cuda-11-compute-arch' into release-3.18
295d1b9cb5 FindCUDA/select_compute_arch: Add CUDA 11 and Ampere support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Acked-by: Tobias Ribizel <ribizel@kit.edu>
Acked-by: Henry Schreiner <henryschreineriii@gmail.com>
Merge-request: !4979
2020-07-08 08:25:00 -04:00
Brad King
32e833d5cf Merge topic 'find-blas-lapack-mklroot-win' into release-3.18
196f042b58 FindLAPACK: Handle Windows Intel MKLROOT with backslash
96c19ecd55 FindBLAS: Handle Windows Intel MKLROOT with backslash

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4982
2020-07-08 08:23:31 -04:00
zasdfg bnm
295d1b9cb5 FindCUDA/select_compute_arch: Add CUDA 11 and Ampere support
Co-Author: Henry Schreiner <henryschreineriii@gmail.com>
2020-07-07 11:32:45 -04:00
Robert Maynard
33192e1b5f FindMPI: Pass -pthread to NVCC through -Xlinker for device linking
Fixes: #20924
2020-07-07 10:23:11 -04:00
Michael Hirsch
196f042b58 FindLAPACK: Handle Windows Intel MKLROOT with backslash 2020-07-07 09:55:29 -04:00
Michael Hirsch
96c19ecd55 FindBLAS: Handle Windows Intel MKLROOT with backslash 2020-07-07 09:55:29 -04:00
Brad King
996b312825 Merge topic 'FindMPI-nvcc-fexceptions' into release-3.18
b725a19072 FindMPI: Deny -fexceptions from NVCC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Merge-request: !4970
2020-07-07 09:13:49 -04:00
Axel Huebl
b725a19072 FindMPI: Deny -fexceptions from NVCC
Do not forward -fexceptions (set from MVAPICH2) to NVCC.

Fixes: #18558
2020-07-06 09:37:11 -04:00
Felix Yan
bbb7f0e271 FindLua: Add support for Lua 5.4 2020-07-01 10:55:32 -04:00
Brad King
4c28bf2aca Merge topic 'gtest-xml-output' into release-3.18
75aa3ee7e7 GoogleTest: Fix name generation for XML_OUTPUT_DIR

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4942
2020-06-29 08:21:07 -04:00
Brad King
df8ba4f10d Merge topic 'intel-c++20' into release-3.18
99c8dbf497 Intel: Add flags for C++20

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4946
2020-06-29 08:16:16 -04:00
Stefan Floeren
75aa3ee7e7 GoogleTest: Fix name generation for XML_OUTPUT_DIR
The Google test framework allows to write the results into an XML file
since commit e9ab39eb1d (GoogleTest: Add XML_OUTPUT_DIR parameter,
2020-03-06, v3.18.0-rc1~538^2~2).  This file is passed on the command
line: `--gtest_output=xml:FILE_NAME`.

The module allows to specify a directory to save those files with
**TEST_XML_OUTPUT_PARAM**.

If the option is set, the filename will be set to
`${prefix}${pretty_suite}.${pretty_test}${suffix}.xml`.

The pretty names contain parameters for the tests, if
value-parameterized tests are used. These parameters may not be safe to
use in file names.

There are two possible options:

1. sanitize the file name
2. omit the values and use the internal numbering of gtest

This commit chose option 2. The testname needs to be a valid C++
identifier and should therefore be reasonable for a filename.

Note that the generated names contain slashes. This will lead to
subdirectories, but works on both Linux and Windows.

Fixes: #20877
2020-06-26 09:39:51 -04:00
Brad King
99c8dbf497 Intel: Add flags for C++20
Patch-by: Matheus Izvekov
Fixes: #20880
2020-06-26 08:21:21 -04:00
Craig Scott
642ea49115 GoogleTest: Replace SEND_ERROR with FATAL_ERROR
We want to fail and halt immediately upon any error, not continue
past a fatal problem.
2020-06-24 21:57:19 +10:00
Brad King
ba0ff76af3 Merge topic 'VxWorks-platform-id' into release-3.18
b22586be01 VxWorks: Add Platform ID for Modules/CMakePlatformId.h.in

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4922
2020-06-23 08:00:31 -04:00
Lihua Zhao
b22586be01 VxWorks: Add Platform ID for Modules/CMakePlatformId.h.in 2020-06-23 07:59:32 -04:00
Brad King
069e904337 Merge topic 'fix-win-flex-bison' into release-3.18
0faa2b9870 Find{FLEX,BISON}: Add 'win-' executable names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4931
2020-06-23 07:56:39 -04:00
Brad King
df69cb37d1 Merge topic 'FindCUDA-11' into release-3.18
1d9f2f9714 FindCUDA: Do not search for the deprecated nppicom when CUDA >= 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4929
2020-06-23 07:55:40 -04:00
Yan
0faa2b9870 Find{FLEX,BISON}: Add 'win-' executable names
Distributions of these tools on Windows now use a `win-` prefix
instead of the previously-seen `win_` prefix.  Search for both.
2020-06-22 15:50:22 -04:00
Robert Maynard
1d9f2f9714 FindCUDA: Do not search for the deprecated nppicom when CUDA >= 11
The nppicom library has been removed in preference of nvjpeg starting
in CUDA 11.

Fixes: #20845
2020-06-22 11:56:51 -04:00
Brad King
21d0961bc2 Merge topic 'CUDAToolkit-cuda-11' into release-3.18
b284a3c764 CudaToolkit: Update for new/removed libraries in CUDA 11

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4917
2020-06-19 08:13:08 -04:00
Brad King
a0280801f4 CUDA: Fix CMAKE_CUDA_COMPILER_TOOLKIT_ROOT detection in Visual Studio
When using a Visual Studio generator, we do not know the path to
`CMAKE_CUDA_COMPILER` until after the compiler id detection project
extracts it.  However, based on the VS toolchain configuration we know
that the compiler id will be NVIDIA, so use that to drive the CUDA
architecture flag logic.  After the main compiler id step we know
`CMAKE_CUDA_COMPILER`, so `CMAKE_CUDA_COMPILER_TOOLKIT_ROOT` can then be
computed.
2020-06-18 15:58:38 -04:00
Brad King
90be0916b5 CUDA: Re-order some logic for determining the compiler 2020-06-18 15:53:45 -04:00
Brad King
4ab5f109f0 CUDA: Remove unused variables while determining compiler 2020-06-18 15:50:10 -04:00
Brad King
492e5f01fa CUDA: Simplify CMAKE_CUDA_COMPILER_TOOLKIT_ROOT computation 2020-06-18 15:49:25 -04:00
Brad King
4785bd6153 CUDA: Skip the entire search for nvcc when it is CMAKE_CUDA_COMPILER 2020-06-18 15:48:40 -04:00
Raul Tambre
d9c1f05924 CUDA: Fix NVCC executable search during compiler detection
The result variable was `CUDAToolkit_NVCC_EXECUTABLE` instead of
`_CUDA_NVCC_EXECUTABLE`, which the rest of the code used.  Also, we can
simply `set()` the `_CUDA_NVCC_EXECUTABLE` value without searching.

Fixes: #20847
2020-06-18 15:07:31 -04:00
Brad King
310e953d58 Merge topic 'doc-3.18-fixups' into release-3.18
947cfc732d Help: Explicitly say transaction, don't abbreviate to trans
90c73479bc Help: Correct and condense examples for VS_SOLUTION_DEPLOY
0420de10b5 Help: Add missing cross-referencing for generator expressions
013f7a2647 Help: Formatting, crossref for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG>
a12d53acf3 Help: Add missing PCH_WARN_INVALID docs and related cleanups
95a16f7805 Help: Fix formatting error and consistency for gtest_discover_tests()

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4915
2020-06-18 12:44:14 -04:00
Robert Maynard
b284a3c764 CudaToolkit: Update for new/removed libraries in CUDA 11 2020-06-18 08:52:58 -04:00
Osama Moharam
2ff68c00e0 ARMClang: Fix typo in -Xlinker flag
Fix a typo from commit ef816610be (ARMClang: allow fallback to -march
and correct setting of --cpu flags, 2020-06-03, v3.18.0-rc1~18^2).
2020-06-18 07:43:22 -04:00
Craig Scott
95a16f7805 Help: Fix formatting error and consistency for gtest_discover_tests() 2020-06-18 20:23:57 +10:00
Raul Tambre
14163d7d6b CUDA: Throw error for Clang on Windows
Supporting compiling on Windows is more complicated than initially expected, so
it won't make it into CMake 3.18.
Add a helpful error for users.
2020-06-16 14:06:43 -04:00
Brad King
7fa5ea130b Merge topic 'cuda_clang_toolkit_path' into release-3.18
ec59fb6c31 CUDA: Determine CUDA toolkit location for NVCC
0a056246a1 CUDA: Pass toolkit path to Clang
9c43972127 FindCUDAToolkit: Avoid unnecessary temporary variable computing binary dir
9eebb5b8b2 FindCUDAToolkit: Remove unnecessary checks around searches
8f01fe7bf1 FindCUDAToolkit: Use list(SORT) to sort in natural order
8c144fe9ad FindCUDAToolkit: Compute CUDAToolkit_INCLUDE_DIR instead of searching
403f8d31e3 FindCUDAToolkit: Add CUDAToolkit_LIBRARY_ROOT
6636693134 FindCUDAToolkit: Re-unify with Internal/CUDAToolkit

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4828
2020-06-15 09:25:29 -04:00
Brad King
a3881d6313 Merge topic 'cuda_architectures_disable' into release-3.18
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4886
2020-06-15 09:24:37 -04:00
Raul Tambre
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES
The ability to disable adding architectures completely for packaging purposes
and cases requiring passing the architectures flags explicitly has been
requested.
Support a false value for CUDA_ARCHITECTURES and CMAKE_CUDA_ARCHITECTURES
for this purpose.

Implements #20821.
2020-06-15 09:13:32 -04:00
Raul Tambre
b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17 2020-06-13 11:29:55 +03:00
Raul Tambre
5d26efe38f Clang: Add final C++20 flag for Clang 11.0+
-std=c++20 superseded -std=c++2a in upstream Clang commit
24ad121582454e625bdad125c90d9ac0dae948c8.
2020-06-13 11:29:51 +03:00