Просмотр исходного кода

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 <[email protected]>
Merge-request: !4903
Brad King 5 лет назад
Родитель
Сommit
2ae33f7ace
3 измененных файлов с 8 добавлено и 2 удалено
  1. 2 1
      Help/release/3.18.rst
  2. 4 0
      Modules/CMakeDetermineCUDACompiler.cmake
  3. 2 1
      Source/cmLocalGenerator.cxx

+ 2 - 1
Help/release/3.18.rst

@@ -13,7 +13,8 @@ New Features
 Languages
 ---------
 
-* The ``CUDA`` language can now be compiled using Clang.
+* The ``CUDA`` language can now be compiled using Clang on non-Windows
+  platforms. Separable compilation is not yet supported on any platform.
 
 Command-Line
 ------------

+ 4 - 0
Modules/CMakeDetermineCUDACompiler.cmake

@@ -198,6 +198,10 @@ if(NOT CMAKE_CUDA_COMPILER_ID_RUN)
       string(APPEND nvcc_test_flags " -ccbin=${CMAKE_CUDA_HOST_COMPILER}")
     endif()
   elseif(CMAKE_CUDA_COMPILER_ID STREQUAL "Clang")
+    if(WIN32)
+      message(FATAL_ERROR "Clang with CUDA is not yet supported on Windows. See CMake issue #20776.")
+    endif()
+
     set(clang_test_flags "--cuda-path=\"${CMAKE_CUDA_COMPILER_LIBRARY_ROOT}\"")
     if(CMAKE_CROSSCOMPILING)
       # Need to pass the host target and include directories if we're crosscompiling.

+ 2 - 1
Source/cmLocalGenerator.cxx

@@ -1997,7 +1997,8 @@ void cmLocalGenerator::AddLanguageFlags(std::string& flags,
       if (separable) {
         this->Makefile->IssueMessage(
           MessageType::FATAL_ERROR,
-          "CUDA_SEPARABLE_COMPILATION isn't supported on Clang.");
+          "CUDA_SEPARABLE_COMPILATION isn't supported on Clang. "
+          "See CMake issue #20726.");
       }
     }
   }