Commit Graph

11066 Commits

Author SHA1 Message Date
Raul Tambre 9f81aa0f69 CUDA: Fail if compiler detection using the host compiler fails
If an user specified a host compiler we should fail if we are unable to perform
compiler detection with it.
Previously we would try without and likely succeed and continue. Then we'd fail
during ABI detection and compiler testing since we'd still try to use it.

This is particularly problematic when crosscompiling since we extract the host
linker from the compiler detection link line. This would result in the wrong
host linker being used and a linking error due to architecture mismatch during
ABI detection where other necessary flags may already be present to make the
host compiler work. See #21076 for an example.

Fix this by adding CMAKE_<LANG>_COMPILER_ID_REQUIRE_SUCCESS to
CMakeDetermineCompilerId, which throws a fatal error if executing the compiler
results in a non-zero exit code.

Fixes #21120.
2020-08-29 13:06:44 +03:00
Robert Maynard 2368f46ba4 ISPC: Support building with the MSVC toolchain 2020-08-28 11:21:31 -04:00
Robert Maynard e783bf8aa6 ISPC: Support ISPC header generation byproducts and parallel builds 2020-08-28 11:21:31 -04:00
Robert Maynard 34cc6acc81 Add ISPC compiler support to CMake 2020-08-28 11:21:31 -04:00
Thomas Bernard 0ccd256787 llvm-rc: Enable preprocessing for all Windows usage variants
Fixes: #21096
2020-08-27 12:25:59 -04:00
Thomas Bernard 7e72fe2ec9 llvm-rc: Refactor the preprocessing logic 2020-08-27 12:25:20 -04:00
Brad King 807aaae4ac Merge topic 'FindJNI-arm64' into release-3.18
44dffbcc94 FindJNI: Add arm64 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5162
2020-08-26 10:26:52 -04:00
Brad King 65856616d7 Merge topic 'FindJNI-arm64'
44dffbcc94 FindJNI: Add arm64 support

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5162
2020-08-26 10:26:52 -04:00
Brad King 57c1be6e15 Merge topic 'cuda-std-for-msvc' into release-3.18
bed315a0da CUDA: Support setting CUDA14/17 when using MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5160
2020-08-26 10:25:44 -04:00
Brad King bf0262f41e Merge topic 'cuda-std-for-msvc'
bed315a0da CUDA: Support setting CUDA14/17 when using MSVC

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5160
2020-08-26 10:25:44 -04:00
Malcolm Parsons 44dffbcc94 FindJNI: Add arm64 support
On 64-bit ARM, JVM directories have an arm64 suffix.
2020-08-25 14:34:02 -04:00
Brad King 4294526504 Merge topic 'msvc_static_assert'
95bc11dbb4 MSVC: Record support for c_static_assert

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5148
2020-08-25 10:26:54 -04:00
Robert Maynard bed315a0da CUDA: Support setting CUDA14/17 when using MSVC
Fixes #20953
2020-08-24 09:53:38 -04:00
Craig Scott b972e25276 FetchContent: Fix SOURCE_DIR, BUILD_DIR when disconnected or overridden
Fixes: #21123
2020-08-23 18:38:47 +10:00
Brad King 6cbaa8eb93 Merge topic 'clang-cl-restore-preprocess'
7b083d59c2 clang-cl: Restore rules to create preprocessed and assembly output

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5142
2020-08-21 09:31:08 -04:00
Raul Tambre 95bc11dbb4 MSVC: Record support for c_static_assert
Supported since MSVC 19.28.29115 (VS 16.8.0 Preview 1.0).
2020-08-20 09:45:47 -04:00
Brad King 4fc1dd2ff1 Merge topic 'FindMPI-cuda-pthread' into release-3.18
47abe5f225 FindMPI: Fix regression in pthread guard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5147
2020-08-20 07:55:23 -04:00
Brad King e029cb1ca6 Merge topic 'FindMPI-cuda-pthread'
47abe5f225 FindMPI: Fix regression in pthread guard

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Raul Tambre <raul@tambre.ee>
Merge-request: !5147
2020-08-20 07:55:23 -04:00
Axel Huebl 47abe5f225 FindMPI: Fix regression in pthread guard
Fix a regression with MPI and CUDA<10.2 that did let `-pthread` flags
slip to nvcc again.  In commit b725a19072 (FindMPI: Deny -fexceptions
from NVCC, 2020-07-02, v3.18.0-rc4~12^2) we accidentally forgot to use
the variable containing the replacement result.

Fixes: #21108
2020-08-20 06:52:45 -04:00
Brad King 162583bb19 Merge topic 'CMakeDetermineCXXCompiler-clang-typo'
10d7445dd8 clang: Fix the typo for CMAKE_CXX_COMPILER_ID_TEST_FLAGS

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5140
2020-08-19 11:51:03 -04:00
Brad King cb5c8e6f25 Merge topic 'cpack-wix-custom-xmlns'
267de3ba30 CPack/WiX: Add support for custom XML namespaces

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5132
2020-08-19 11:48:24 -04:00
Brad King fed08ce4cf Merge topic 'ExternalProject-retry-only-recoverable'
116b06870d ExternalProject: add INACTIVITY_TIMEOUT argument
f24e34975a ExternalProject: retry download on recoverable errors

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5034
2020-08-19 11:47:34 -04:00
Brad King f1ec88708d Merge topic 'CMakeDependentOption-doc'
91f791b498 CMakeDependentOption: Expand documentation

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5138
2020-08-19 11:46:29 -04:00
Brad King db160604f7 Merge topic 'ep-patch-skip-update-dep'
715324742f ExternalProject: Stop configure target from always appearing out-of-date
c0b7198ad9 ExternalProject: Stop patch target from always appearing out-of-date

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5136
2020-08-19 11:40:03 -04:00
Brad King 281a87f834 Merge topic 'ep-patch-skip-update-dep' into release-3.18
715324742f ExternalProject: Stop configure target from always appearing out-of-date
c0b7198ad9 ExternalProject: Stop patch target from always appearing out-of-date

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5136
2020-08-19 11:40:02 -04:00
Brad King 833e84ca1c Merge topic 'llvm-rc-quote-cmake' into release-3.18
3937536d16 llvm-rc: Fix quoting of path to cmake in CMAKE_RC_COMPILE_OBJECT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5139
2020-08-19 11:37:54 -04:00
Brad King b5198dacdd Merge topic 'llvm-rc-quote-cmake'
447dfddb20 Merge branch 'backport-3.18-llvm-rc-quote-cmake' into llvm-rc-quote-cmake
3937536d16 llvm-rc: Fix quoting of path to cmake in CMAKE_RC_COMPILE_OBJECT

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5139
2020-08-19 11:37:54 -04:00
Brad King e9d0059bb3 Merge topic 'FindPython-enhance-version-extraction-from-lib-name' into release-3.18
72822e26c9 FindPython: enhance robustness of version extraction from library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5135
2020-08-19 11:36:51 -04:00
Brad King 705a60902d Merge topic 'FindPython-enhance-version-extraction-from-lib-name'
72822e26c9 FindPython: enhance robustness of version extraction from library name

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5135
2020-08-19 11:36:51 -04:00
Brad King e3f9056aad Merge topic 'CMakeFindBinUtils-fallback'
6896e50967 CMakeFindBinUtils: Always consider plain binutils when not cross-compiling

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5137
2020-08-19 11:32:51 -04:00
Brad King 7b083d59c2 clang-cl: Restore rules to create preprocessed and assembly output
In commit d993ebd4ca (clang-cl: Add '--' before source file, 2020-07-28)
we accidentally replaced these rules with those to compile an object
file.
2020-08-19 10:53:48 -04:00
Thomas Bernard 10d7445dd8 clang: Fix the typo for CMAKE_CXX_COMPILER_ID_TEST_FLAGS
Fix typo from commit 270e0d9c4d (Detect the correct target architecture
for clang compilers., 2020-07-28).

Issue: #21097
2020-08-18 17:23:54 -04:00
Brad King 447dfddb20 Merge branch 'backport-3.18-llvm-rc-quote-cmake' into llvm-rc-quote-cmake 2020-08-18 17:18:38 -04:00
Thomas Bernard 3937536d16 llvm-rc: Fix quoting of path to cmake in CMAKE_RC_COMPILE_OBJECT
When the installation path to cmake includes spaces, the
`<CMAKE_COMMAND>` is required to have proper quotation of the cmake
call.

Fixes: #21095
2020-08-18 17:15:34 -04:00
Betsy McPhail 91f791b498 CMakeDependentOption: Expand documentation 2020-08-18 13:33:06 -04:00
Robert Maynard 6896e50967 CMakeFindBinUtils: Always consider plain binutils when not cross-compiling
Since commit c5dd2ca538 (DetermineCompiler: Relax
_CMAKE_TOOLCHAIN_PREFIX detection, 2020-03-25, v3.18.0-rc1~430^2),
`_CMAKE_TOOLCHAIN_PREFIX` may be set even when not cross-compiling.
In this case we may still need to use binutils without any prefix.

Fixes: #21103
2020-08-18 13:19:24 -04:00
Brad King 44fac4a34e Merge topic 'findhdf5-targets'
5eff274017 FindHDF5: Remove VTK library type detection
a8e0a6b3e4 FindHDF5: Port changes from VTK

Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Ben Boeckel <ben.boeckel@kitware.com>
Merge-request: !5129
2020-08-18 10:27:29 -04:00
Craig Scott 715324742f ExternalProject: Stop configure target from always appearing out-of-date
When updates are disconnected, don't depend on skip-update because that
target is always considered out of date. Depend directly on the patch target
instead because it already depends on the appropriate target regardless of
whether updates are disconnected or not. This in turn means nothing depends
on the skip-update target, so it has also been removed.

Relates: #21086
2020-08-18 23:27:47 +10:00
Craig Scott c0b7198ad9 ExternalProject: Stop patch target from always appearing out-of-date
The skip-update target is always considered out-of-date. The change in
7249ba9677 (ExternalProject: Enforce that patch depends on update, 2020-04-03)
made the patch target depend on skip-update, which in turn made it
always out of date too. The patch command should only be re-run if the download
needs to be performed again where updates are disconnected.

Fixes: #21086
2020-08-18 23:21:36 +10:00
Thomas Bernard 116b06870d ExternalProject: add INACTIVITY_TIMEOUT argument
In order to abort transfers on slow connections the ExternalProject
command support passing the INACTIVITY_TIMEOUT argument.

Fixes: #20992
2020-08-18 09:16:18 -04:00
Fritz Elfert 267de3ba30 CPack/WiX: Add support for custom XML namespaces
Add a `CPACK_WIX_CUSTOM_XMLNS` option to specify these.

Fixes: #21098
2020-08-18 07:50:49 -04:00
Marc Chevrier 72822e26c9 FindPython: enhance robustness of version extraction from library name
Fixes: #21105
2020-08-18 12:30:47 +02:00
Brad King c873bb0a14 Merge topic 'FindX11-xcb-util-xfixes'
6d231b494f FindX11: Add xcb_util and xcb_xfixes libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5116
2020-08-17 14:54:22 -04:00
Brad King 3313bf06eb Merge topic 'ios-combined-prune-archs'
5852b8867f CMakeIOSInstallCombined: Enforce disjoint architecture sets
79098d23eb Tests: Avoid warnings about unused arguments

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5111
2020-08-17 14:52:08 -04:00
Seth R Johnson 5eff274017 FindHDF5: Remove VTK library type detection 2020-08-14 12:03:21 -04:00
Ben Boeckel a8e0a6b3e4 FindHDF5: Port changes from VTK 2020-08-14 11:57:59 -04:00
Kyle Edwards 7278ab262e Merge topic 'FindOpenSSL-static'
1925f9d8eb FindOpenSSL: Add support for finding static libraries

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5124
2020-08-14 10:09:10 -04:00
Sylvain Corlay 1925f9d8eb FindOpenSSL: Add support for finding static libraries
Fixes: #20903
2020-08-13 17:59:13 +02:00
Brad King e3fcb49d93 Merge topic 'FindRuby_document_deprecated_variables'
e7fe0b24c4 FindRuby: Add documentation for deprecated variables

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !5120
2020-08-12 12:22:46 -04:00
Daniele E. Domenichelli e7fe0b24c4 FindRuby: Add documentation for deprecated variables
Since commit e672db628b (FindRuby: Rename variables to match case of
module name, 2020-03-11, v3.18.0-rc1~546^2), the upper-case-prefixed
variable names are for compatibility only but still exist.  Put them
back in the documentation.

Issue: #21064
2020-08-12 11:25:45 -04:00