Commit Graph

48606 Commits

Author SHA1 Message Date
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
c26853718e Merge topic 'improve_device_link_policy_cross_ref' into release-3.18
e5279c2c8f Help: Better document that CMP0105 controls DEVICE_LINK parsing

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4919
2020-06-18 12:45:27 -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
e5279c2c8f Help: Better document that CMP0105 controls DEVICE_LINK parsing 2020-06-18 12:07:26 -04:00
Brad King
b8d136652f Merge topic 'armclang-typo' into release-3.18
2ff68c00e0 ARMClang: Fix typo in -Xlinker flag

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4916
2020-06-18 09:37:46 -04:00
Brad King
8896a127a6 Merge topic 'test-split-RunCMake.target_link_libraries' into release-3.18
5f97e44912 Tests: Shorten case names in RunCMake.target_link_libraries-* tests
0951b1fe07 Tests: Split RunCMake.target_link_libraries test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4908
2020-06-18 09:36:47 -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
947cfc732d Help: Explicitly say transaction, don't abbreviate to trans
The release notes need to make sense to people not so familiar with
each item. For those less familiar with RPM, spelling out "transaction"
makes this line item much clearer in isolation.
2020-06-18 20:43:46 +10:00
Craig Scott
90c73479bc Help: Correct and condense examples for VS_SOLUTION_DEPLOY 2020-06-18 20:43:46 +10:00
Craig Scott
0420de10b5 Help: Add missing cross-referencing for generator expressions 2020-06-18 20:43:46 +10:00
Craig Scott
013f7a2647 Help: Formatting, crossref for FRAMEWORK_MULTI_CONFIG_POSTFIX_<CONFIG> 2020-06-18 20:43:46 +10:00
Craig Scott
a12d53acf3 Help: Add missing PCH_WARN_INVALID docs and related cleanups 2020-06-18 20:26:03 +10:00
Craig Scott
95a16f7805 Help: Fix formatting error and consistency for gtest_discover_tests() 2020-06-18 20:23:57 +10:00
Brad King
843c39bf47 Merge topic 'doc-relnotes' into release-3.18
4f6ce41446 Help: Fix order of FindCUDAToolkit entry in 3.18 release notes

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4910
2020-06-17 13:45:12 -04:00
Brad King
4f6ce41446 Help: Fix order of FindCUDAToolkit entry in 3.18 release notes 2020-06-17 11:28:31 -04:00
Brad King
e66fe75792 CMake 3.18.0-rc2 v3.18.0-rc2 2020-06-17 09:58:40 -04:00
Brad King
5f97e44912 Tests: Shorten case names in RunCMake.target_link_libraries-* tests
Drop the portion of the case names that repeats the name of the
containing test.
2020-06-17 08:13:57 -04:00
Marc Chevrier
0951b1fe07 Tests: Split RunCMake.target_link_libraries test
Fixes: #20836
2020-06-17 08:02:33 -04:00
Brad King
2ae33f7ace Merge topic 'cuda_clang_limitations' into release-3.18
bdb105ee94 Help: Mention CUDA Clang limitations in 3.18 release notes
fec7dd33d3 CUDA: Add issue number to Clang separable compilation error
14163d7d6b CUDA: Throw error for Clang on Windows

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4903
2020-06-17 06:44:25 -04:00
Brad King
56134e3690 Merge topic 'test-file-GET_RUNTIME_DEPENDENCIES' into release-3.18
9ae3382855 Tests: Shorten case names in RunCMake.file-GET_RUNTIME_DEPENDENCIES test
248d0570c9 Tests: Factor out RunCMake.file-GET_RUNTIME_DEPENDENCIES test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4904
2020-06-17 06:43:22 -04:00
Brad King
66d323bd63 Merge topic 'test-CudaOnly.StaticRuntimePlusToolkit' into release-3.18
cb9fab49dd Tests: Fix CudaOnly.StaticRuntimePlusToolkit build rpath

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4901
2020-06-17 06:41:56 -04:00
Raul Tambre
bdb105ee94 Help: Mention CUDA Clang limitations in 3.18 release notes 2020-06-16 14:07:39 -04:00
Raul Tambre
fec7dd33d3 CUDA: Add issue number to Clang separable compilation error 2020-06-16 14:07:30 -04: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
9ae3382855 Tests: Shorten case names in RunCMake.file-GET_RUNTIME_DEPENDENCIES test
Now that these cases are in a dedicated test we can drop the
`file-GET_RUNTIME_DEPENDENCIES-` prefix from their name.
2020-06-16 11:17:55 -04:00
Brad King
248d0570c9 Tests: Factor out RunCMake.file-GET_RUNTIME_DEPENDENCIES test
Move the `file(GET_RUNTIME_DEPENDENCIES)` cases out of `RunCMake.install`.
2020-06-16 11:17:55 -04:00
Brad King
3f110a0857 Merge topic 'test-RunCMake.GeneratorExpression' into release-3.18
6308bfb737 Tests: Factor out RunCMake.GenEx-GENEX_EVAL test
abe1c27499 Tests: Factor out RunCMake.GenEx-TARGET_FILE test
fbead761fe Tests: Factor out RunCMake.GenEx-DEVICE_LINK test
64a8587332 Tests: Factor out RunCMake.GenEx-HOST_LINK test
6f224a065c Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test
f3f6317ca3 Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test
983adb8bed Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID test
931a6702f6 Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE test

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4899
2020-06-16 09:18:09 -04:00
Robert Maynard
cb9fab49dd Tests: Fix CudaOnly.StaticRuntimePlusToolkit build rpath 2020-06-16 08:30:42 -04:00
Brad King
6308bfb737 Tests: Factor out RunCMake.GenEx-GENEX_EVAL test
Move the `GENEX_EVAL` cases and friends out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:36 -04:00
Brad King
abe1c27499 Tests: Factor out RunCMake.GenEx-TARGET_FILE test
Move the `TARGET_FILE` cases and friends out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King
fbead761fe Tests: Factor out RunCMake.GenEx-DEVICE_LINK test
Move the `DEVICE_LINK` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King
64a8587332 Tests: Factor out RunCMake.GenEx-HOST_LINK test
Move the `HOST_LINK` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King
6f224a065c Tests: Factor out RunCMake.GenEx-LINK_LANG_AND_ID test
Move the `LINK_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King
f3f6317ca3 Tests: Factor out RunCMake.GenEx-LINK_LANGUAGE test
Move the `LINK_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King
983adb8bed Tests: Factor out RunCMake.GenEx-COMPILE_LANG_AND_ID test
Move the `COMPILE_LANG_AND_ID` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:35 -04:00
Brad King
931a6702f6 Tests: Factor out RunCMake.GenEx-COMPILE_LANGUAGE test
Move the `COMPILE_LANGUAGE` cases out of `RunCMake.GeneratorExpression`.
2020-06-16 08:03:34 -04:00
Brad King
f37ff966d0 Merge topic 'gitlab-ci-restructure' into release-3.18
6d168c41e3 gitlab-ci: split linux and macos shared before scripts
a1fe6ad621 gitlab-ci: use `extends`
fda8b79f88 gitlab-ci: add a comment describing what goes into a job
2b4523c5f2 gitlab-ci: make rules a bit more uniform
d6fe877cf9 gitlab-ci: split into multiple files

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4885
2020-06-15 10:31:35 -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
Brad King
9fb67f690b Merge topic 'clang_cxx20' into release-3.18
b365385d66 Clang: Record Clang 6.0+ as fully supporting C++17
5d26efe38f Clang: Add final C++20 flag for Clang 11.0+

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4887
2020-06-15 09:01:44 -04:00
Brad King
05546d695e Merge topic 'revert-find_program-exe-no-read' into release-3.18
cc02ced530 find_program: Revert "Find programs that are executable but not readable"

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4871
2020-06-15 08:58:06 -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
Raul Tambre
ec59fb6c31 CUDA: Determine CUDA toolkit location for NVCC
Similar to how we already do for Clang. Avoids a lot of redundant work in
FindCUDAToolkit.
2020-06-12 23:13:57 +03:00
Raul Tambre
0a056246a1 CUDA: Pass toolkit path to Clang
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.
2020-06-12 21:50:05 +03:00
Raul Tambre
9c43972127 FindCUDAToolkit: Avoid unnecessary temporary variable computing binary dir 2020-06-12 21:49:15 +03:00