diff options
-rw-r--r-- | Help/release/3.18.rst | 3 | ||||
-rw-r--r-- | Modules/CMakeDetermineCUDACompiler.cmake | 4 | ||||
-rw-r--r-- | Source/cmLocalGenerator.cxx | 3 |
3 files changed, 8 insertions, 2 deletions
diff --git a/Help/release/3.18.rst b/Help/release/3.18.rst index db5f62a..072f9aa 100644 --- a/Help/release/3.18.rst +++ b/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 ------------ diff --git a/Modules/CMakeDetermineCUDACompiler.cmake b/Modules/CMakeDetermineCUDACompiler.cmake index a0f7202..e12da45 100644 --- a/Modules/CMakeDetermineCUDACompiler.cmake +++ b/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. diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx index f748822..3b3f110 100644 --- a/Source/cmLocalGenerator.cxx +++ b/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."); } } } |