0aea435aa1 ExternalProject: Provide choice of git update strategies
ea410414c5 ExternalProject: factor out gitupdate step to separate file
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4239
The refactoring exposed that the original implementation
was referring to an undefined variable src_name, which was
previously only used in error messages. This has been fixed
as part of the refactoring work.
Fixes: #20336
The purpose of `CMAKE_CUDA_HOST_IMPLICIT_LINK_*` is to capture the
extra link libraries and directories that the CUDA compiler passes
when invoking the host linker. We need this when using NVCC because
CMake drives the host linker directly rather than through NVCC.
However, this is not needed with Clang because:
* Clang does not pass any CUDA libraries automatically.
* We drive linking with the Clang compiler anyway.
Drop the detection logic for Clang because it only gives the normal C++
runtime libraries which we do not need here.
Filter CMAKE_CUDA_HOST_IMPLICIT_LINK_LIBRARIES just after it is
computed. Re-use the same exclusion list for filtering
CMAKE_CUDA_IMPLICIT_LINK_LIBRARIES to avoid duplication.
50879ce412 Conda: Add CONDA_PREFIX as an acceptable system prefix path
cd9c3c000f Tests: Update QtAutogen codeeditor test only include headers needed
d806bd2e8c Tests: Update test suite to run in an Anaconda environment
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4773
596db17cdd Merge branch 'backport-3.17-FindPython-debug-library-lookup' into FindPython-debug-library-lookup
e7b9f928f7 FindPython: use CMAKE specific variables to look-up debug library
71e6854b22 FindPython: use CMAKE specific variables to look-up debug library
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4764
Since commit 0d0145138f (CUDA: Add abstraction for cuda runtime
selection, 2019-11-29, v3.17.0-rc1~83^2) we add CUDA runtime library
selection flags by default.
To maintain backwards compatibility the default CUDA runtime
library needs to be computed based on what libraries are found
on the initial compiler invocation. For example a toolchain
could establish initial flags that have all CUDA compilations
using the runtime version, and if we don't detect this we will
try to link to both the static and shared runtime.
Co-Author: Brad King <brad.king@kitware.com>
Fixes: #20708
This argument never worked and was not passed on Windows, which is why
the Windows version needs fewer fixups (and used to work independent of
this change).
On Linux (and macOS) it was passed and prevented the server from starting and the
test would not be able to run.
See also comments on https://gitlab.kitware.com/cmake/cmake/-/merge_requests/4648
The module's functionality is preserved. Perform cleanups:
- Format some functions
- Change macros to functions
- Fix return value check from execute_process
- Hide status messages unless HDF5_FIND_DEBUG is enabled
- Normalize TRUE/FALSE capitalization
Fixes: #20718
a653ca9504 Tests: Update CUDA tests to work with Clang
5df21adf46 CUDA: Add support for Clang compiler
dc2eae1f91 FindCUDAToolkit: Factor out discovery code into a separate file
70be10cbf4 CUDA: Remove toolkit include dirs from implicit include dirs only with NVIDIA
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: Artem Belevich <tra@google.com>
Acked-by: Robert Maynard <robert.maynard@kitware.com>
Acked-by: Axel Huebl <axel.huebl@plasma.ninja>
Acked-by: friendnick <ikoval67@gmail.com>
Acked-by: Patrik Huber <patrikhuber@gmail.com>
Merge-request: !4442
When crosscompiling we pass the sysroot.
We need to try various architecture flags. Clang doesn't automatically
select one that works. First try the ones that are more likely to work
for modern installations:
* <=sm_50 is deprecated since CUDA 10.2, try sm_52 first for
future compatibility.
* <=sm_20 is removed since CUDA 9.0, try sm_30.
Otherwise fallback to Clang's current default. Currently that's `sm_20`,
the lowest it supports.
Separable compilation isn't supported yet.
Fixes: #16586
This allows for re-use in other parts of the code, that require the CUDA
toolkit location, but can't or may not want to use the full
`FindCUDAToolkit`.
The special case added by commit 87df637078 (CUDA: Do not treat CUDA
toolkit include directories as implicit, 2020-02-02, v3.17.0-rc1~31^2)
breaks CMake's protections against changing the compiler's implicit
include directory order. Do this only for the NVIDIA compiler where it
is needed as a workaround to another problem. That compiler does not
put the host compiler's implicit include directories in `-I` paths so we
do not detect them as `CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES` anyway.
Update the documentation (Squish 4 is from 2010, so people are likely
using something newer) and let squish_add_test call either the v3 or v4
macro based on the detected Squish version.
This cannot break things, since mixing incompatible versions would not
have worked before.
Windows has .exe in the target name, but Squish only uses the name without extension
which makes things a lot easier when running tests on several platforms.
Discovered when coming back to Windows and doing a fresh build and suddenly the
binary to be tested was no longer found due to the name mismatch.