From 65481a60a06b4238d342f64b5fed52e252ee191b Mon Sep 17 00:00:00 2001 From: Brad King Date: Tue, 7 Mar 2017 14:27:36 -0500 Subject: [PATCH] CUDA: Work around VS limitation in CudaOnly.WithDefs test CUDA 8.0 MSBuild rules do not pass `-x cu` to nvcc and so cannot support a custom file extension. Fix our test for this to use a `.cu` extension instead. --- Tests/CudaOnly/WithDefs/CMakeLists.txt | 11 +++++++++-- Tests/CudaOnly/WithDefs/main_for_vs.cu | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) create mode 100644 Tests/CudaOnly/WithDefs/main_for_vs.cu diff --git a/Tests/CudaOnly/WithDefs/CMakeLists.txt b/Tests/CudaOnly/WithDefs/CMakeLists.txt index 2646d29a3f..38f2a44a34 100644 --- a/Tests/CudaOnly/WithDefs/CMakeLists.txt +++ b/Tests/CudaOnly/WithDefs/CMakeLists.txt @@ -16,8 +16,15 @@ set(release_compile_defs DEFREL) #build a executable that needs to be passed a complex define through add_defintions #this verifies we can pass things such as '_','(' to nvcc add_definitions("-DPACKED_DEFINE=__attribute__((packed))") -set_source_files_properties(main.notcu PROPERTIES LANGUAGE CUDA) -add_executable(CudaOnlyWithDefs main.notcu) + +if(CMAKE_GENERATOR MATCHES "Visual Studio") + # CUDA MSBuild rules do not pass '-x cu' to nvcc + set(main main_for_vs.cu) +else() + set(main main.notcu) + set_source_files_properties(main.notcu PROPERTIES LANGUAGE CUDA) +endif() +add_executable(CudaOnlyWithDefs ${main}) target_compile_options(CudaOnlyWithDefs PRIVATE diff --git a/Tests/CudaOnly/WithDefs/main_for_vs.cu b/Tests/CudaOnly/WithDefs/main_for_vs.cu new file mode 100644 index 0000000000..56078e7af2 --- /dev/null +++ b/Tests/CudaOnly/WithDefs/main_for_vs.cu @@ -0,0 +1 @@ +#include "main.notcu"