diff options
author | Brad King <brad.king@kitware.com> | 2016-12-07 16:45:44 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2017-01-12 15:39:04 (GMT) |
commit | 5599d858c7881b4331c449ba5c59d255ed50bd11 (patch) | |
tree | 9461bf2509ff5b14e6442b2cfde2c8808bd49dc1 /Tests/CudaOnly/WithDefs | |
parent | 1155170230ebd096df06ebf108908d6c99242d6d (diff) | |
download | CMake-5599d858c7881b4331c449ba5c59d255ed50bd11.zip CMake-5599d858c7881b4331c449ba5c59d255ed50bd11.tar.gz CMake-5599d858c7881b4331c449ba5c59d255ed50bd11.tar.bz2 |
CUDA: Port test cases to Windows with MSVC host compiler
Diffstat (limited to 'Tests/CudaOnly/WithDefs')
-rw-r--r-- | Tests/CudaOnly/WithDefs/CMakeLists.txt | 7 | ||||
-rw-r--r-- | Tests/CudaOnly/WithDefs/main.notcu | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/Tests/CudaOnly/WithDefs/CMakeLists.txt b/Tests/CudaOnly/WithDefs/CMakeLists.txt index c4ca8b9..6c4011c 100644 --- a/Tests/CudaOnly/WithDefs/CMakeLists.txt +++ b/Tests/CudaOnly/WithDefs/CMakeLists.txt @@ -4,7 +4,12 @@ project (CudaOnlyWithDefs CUDA) #verify that we can pass explicit cuda arch flags set(CMAKE_CUDA_FLAGS "-gencode arch=compute_30,code=compute_30") -set(debug_compile_flags --generate-code arch=compute_20,code=sm_20 -Xcompiler=-Werror) +set(debug_compile_flags --generate-code arch=compute_20,code=sm_20) +if(CMAKE_CUDA_SIMULATE_ID STREQUAL "MSVC") + list(APPEND debug_compile_flags -Xcompiler=-WX) +else() + list(APPEND debug_compile_flags -Xcompiler=-Werror) +endif() set(release_compile_defs DEFREL) #Goal for this example: diff --git a/Tests/CudaOnly/WithDefs/main.notcu b/Tests/CudaOnly/WithDefs/main.notcu index 33a49d2..67bf10c 100644 --- a/Tests/CudaOnly/WithDefs/main.notcu +++ b/Tests/CudaOnly/WithDefs/main.notcu @@ -2,12 +2,21 @@ #include <cuda_runtime.h> #include <iostream> +#ifndef PACKED_DEFINE +#error "PACKED_DEFINE not defined!" +#endif + static __global__ void DetermineIfValidCudaDevice() { } +#ifdef _MSC_VER +#pragma pack(push,1) +#undef PACKED_DEFINE +#define PACKED_DEFINE +#endif struct PACKED_DEFINE result_type { bool valid; @@ -16,6 +25,9 @@ struct PACKED_DEFINE result_type #error missing DEFREL flag #endif }; +#ifdef _MSC_VER +#pragma pack(pop) +#endif result_type can_launch_kernel() { |