From 14163d7d6b818ac1add7d467b643abfed8fe7216 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Tue, 16 Jun 2020 17:13:56 +0300 Subject: 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. --- Modules/CMakeDetermineCUDACompiler.cmake | 4 ++++ 1 file changed, 4 insertions(+) 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. -- cgit v0.12 From fec7dd33d309aeccf870169d957c69f9ee523463 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Tue, 16 Jun 2020 20:54:04 +0300 Subject: CUDA: Add issue number to Clang separable compilation error --- Source/cmLocalGenerator.cxx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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."); } } } -- cgit v0.12 From bdb105ee94046f0b89e60c9fabe4e4a058844005 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Tue, 16 Jun 2020 17:18:22 +0300 Subject: Help: Mention CUDA Clang limitations in 3.18 release notes --- Help/release/3.18.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 ------------ -- cgit v0.12