| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| | |
Similar to how we already do for Clang. Avoids a lot of redundant work in
FindCUDAToolkit.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Clang isn't very good at finding the installed CUDA toolkit.
The upstream recommendation is that we should pass the toolkit explicitly.
Additionally:
* Avoids Clang having to search for the toolkit on every invocation.
* Allows the user to use a toolkit from a non-standard location by simply
setting CUDAToolkit_ROOT. The same way as with FindCUDAToolkit.
Clang wants the directory containing the device library and version.txt as the
toolkit path.
We thus pass the newly introduced CUDAToolkit_LIBRARY_ROOT as the toolkit path.
We save CUDAToolkit_ROOT_DIR and CUDAToolkit_LIBRARY_ROOT on Clang to have them
available in try_compile() and avoid unnecessary re-searching or a possibly
different installation being found in FindCUDAToolkit.
This however means that the selected toolkit can't be changed after the initial
language enablement.
We now determine CUDA compiler ID before doing actual detection, as we don't
want to spend time finding the CUDA toolkit for NVIDIA.
Implements #20754.
|
| | |
|
| |
| |
| |
| |
| | |
find_*() don't search if the result variable is already set.
Remove the if()s around such cases.
|
| |
| |
| |
| |
| | |
We had a custom loop to sort in the natural order. Since CMake 3.18 this is
supported natively by CMake and simplifies the code significantly.
|
| |
| |
| |
| |
| |
| |
| | |
We can avoid searching for this since CUDAToolkit_TARGET_DIR always contains
the include/ directory. But add a warning just in case.
Also apply this in CMakeDetermineCUDACompiler for Clang code.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On scattered installations version.txt and nvvm are located at this location.
This may be useful to users and will allow us in the future to parse
version.txt instead of invoking nvcc to figure out the CUDA toolkit version.
We also add it to CMakeDetermineCUDACompiler in preparation for future use by
Clang code.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A portion of FindCUDAToolkit was previously split in commit dc2eae1f
(FindCUDAToolkit: Factor out discovery code into a separate file, 2020-04-22)
out into Internal/CUDAToolkit to allow re-use of the code in
CMakeDetermineCUDACompiler for Clang support.
This has turned out to be a bad solution due to Clang requiring quite a bit of
special handling and special handling for NVCC leaking out from
Internal/CUDAToolkit into the Clang code using it.
Thus it seems better to re-unify this code and duplicate the parts of the code
necessary for Clang where it's required. This will help us get logic correct
for both NVCC and CUDA handling. We can still unify the common parts in the
future once the code has matured.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
877a92e968 CUDA: Add support for disabling CUDA_ARCHITECTURES
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4886
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/
|
|
|
| |
-std=c++20 superseded -std=c++2a in upstream Clang commit
24ad121582454e625bdad125c90d9ac0dae948c8.
|
|\
| |
| |
| |
| |
| |
| | |
95700be52d CUDA: Teach CMake that NVCC 11 supports cuda_std_17
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4872
|
| | |
|
|/
|
|
| |
typo: "filess" ==> "files"
|
|\
| |
| |
| |
| |
| |
| | |
b79aad8069 CPack/IFW: Add Qt installer framework version 3.2
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4859
|
| |
| |
| |
| | |
Qt 5.15 comes with IFW 3.2
|
|\ \
| |/
|/|
| |
| |
| |
| | |
796b447373 FindOpenSSL: Fix OpenSSL 3.0.0 version extraction
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4860
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix the regex syntax added by commit 61d746e592 (FindOpenSSL: Detect
OpenSSL 3.0.0, 2020-05-27, v3.17.3~1^2). Add missing escapes.
Test with `openssl-3.0.0-alpha3`.
While at it, also unset a temporary variable after use.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
7e2f86461a FindCUDAToolkit: Fix cudart not found status message
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4861
|
| | |
| | |
| | |
| | |
| | |
| | | |
This ended up after the searching after commit dc2eae1 (FindCUDAToolkit: Factor
out discovery code into a separate file, 2020-04-22).
Move it back to where it was and should be.
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
0f88b7a592 CUDA: Fix Clang depfile flags when simulating MSVC
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4863
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
__compiler_clang() doesn't call __compiler_gnu() if we're emulating MSVC. Thus
CMAKE_DEPFILE_FLAGS_CUDA remains unset and compiling doesn't work, due to NVCC
dependency injection workaround in CMakeCUDAInformation.cmake, which triggers
for Ninja if they're not set.
Always set the depfile flags to fix this. Most other compiler modules seem to
do the same.
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | | |
4eaf1ef425 CUDA: Fix checking working architectures with specifiers
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4856
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We don't distinguish real/virtual architectures during compiler detection.
If the user passes -DCMAKE_CUDA_ARCHITECTURES="70-virtual" we'll test with only
the real architecture.
If it works "architectures" will end up as "70". We check equality using
strings, so this fails and we incorrectly throw an error.
Fix this by comparing against CMAKE_CUDA_ARCHITECTURES with the specifiers
stripped.
We need to deduplicate tested_architectures for the same reason in case the
user specified something like "70-real;70-virtual".
|
|/ /
| |
| |
| |
| |
| |
| | |
allows cmake to fall back to CMAKE_SYSTEM_ARCH in case CMAKE_SYSTEM_PROCESSOR is not in armclang -mcpu=list
additionally checks if CMAKE_SYSTEM_PROCESSOR belongs to armlink --cpu=list
Fixes: #19962
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
73fb6ac82b ARMClang: Add support for armlink
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4811
|
| | |
| | |
| | |
| | |
| | |
| | | |
sets CMAKE_LIBRARY_PATH_FLAG to '--userlibpath=' when using armlink.
Fixes: #20761
|
|\ \ \
| |/ /
|/| | |
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
The PCH settings are shared by C and CXX languages but do not make sense
for Fortran. In particular, `CMAKE_PCH_EXTENSION` should not be set
because it can overwrite the value set for C/C++ languages, which may
have a different compiler vendor than the Fortran compiler.
Fixes: #20752
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
1f543b23a8 UseSWIG: note dependency behavior for Make generators
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4834
|
| | |
| | |
| | |
| | | |
See: #20067
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
444dbd40de Darwin: honour `CMAKE_OSX_SYSROOT` more faithfully
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4779
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The libraries in the SDK should be given precedence over the system
libraries. Check for the default library search path (in default order)
of `/usr/lib` and `/usr/local/lib` and use these as system prefix paths
for libraries when performing the link step against a specified SDK.
|
| |/ /
|/| |
| | |
| | | |
Fixes: #20780
|
|\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
8aa4d51ec5 ExternalProject: Add missing release note for git update strategy
1236590507 FetchContent: Pass through CMAKE_EP_GIT_REMOTE_UPDATE_STRATEGY if set
e71c2807ba ExternalProject: Remote checkout needs to include the remote name
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4818
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This was missed when the initial support was added in
commit 0aea435aa1 (ExternalProject: Provide choice of
git update strategies, 2020-02-12)
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Commit 0aea435aa1 (ExternalProject: Provide choice of
git update strategies, 2020-02-12) added the git update
strategies, but the CHECKOUT strategy was not handling
remote refs correctly. The local ref would be checked out
instead and no warning or error would have been emitted.
The test that should have caught this was also malformed
and did not actually move the local master branch as intended.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Extend the improved error message added for Clang by commit 19cc5bc296
(CUDA: Throw error if user-specified architectures don't work,
2020-05-26) to cover NVCC as well.
Also fix the error incorrectly being thrown if the user-specified list
differed in order to the architectures parsed from the compiler output.
Implements: #20757
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
2c0db404d1 FindSubversion: Do not accept macOS stub without Xcode implementation
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4813
|
| |/
| |
| |
| |
| | |
Xcode no longer provides a `svn` implementation, but the `/usr/bin/svn`
stub may still exist.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
61d746e592 FindOpenSSL: Detect OpenSSL 3.0.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4805
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
61d746e592 FindOpenSSL: Detect OpenSSL 3.0.0
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4805
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The OpenSSL versioning is changing with the upcoming 3.0.0 release.
https://www.openssl.org/blog/blog/2018/11/28/version/
Since 3.0.0, the patch letters are being dropped. The new format is:
MAJOR.MINOR.PATCH
The OPENSSL_VERSION variable can now be directly derived from the new
OPENSSL_VERSION_STR macro.
https://www.openssl.org/docs/manmaster/man3/OPENSSL_VERSION_NUMBER.html
|
|\ \ \
| | |/
| |/|
| | |
| | |
| | |
| | | |
6ba842163c CPack-deb: don't add a line with a dot to pkg desc
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4806
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, if the package description ends with a newline
(typically if it is read from a file) cpack -deb adds a single line
with a dot at the end which leads to a violation of the
`extended-description-contains-empty-paragraph` debian policy.
This commit fixes the above behaviour.
Fixes: #20763
|
| |\ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
e55b21e24e CUDA: Compute CMAKE_CUDA_RUNTIME_LIBRARY default from toolchain
1086e930dc CUDA: Propagate CMAKE_CUDA_RUNTIME_LIBRARY state to try_compile
a4ea293153 Help: Correct CMAKE_CUDA_RUNTIME_LIBRARY applicability
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4762
|
| | | |
| | | |
| | | |
| | | | |
Fixes: #20714
|