| enable_language (CUDA) | |
| include(CheckSourceCompiles) | |
| set(CUDA 1) # test that this is tolerated | |
| check_source_compiles(CUDA "I don't build" SHOULD_FAIL) | |
| if(SHOULD_FAIL) | |
| message(SEND_ERROR "invalid CUDA source didn't fail.") | |
| endif() | |
| check_source_compiles(CUDA [=[ | |
| #include <vector> | |
| __device__ int d_func() { } | |
| int main() { | |
| return 0; | |
| } | |
| ]=] | |
| SHOULD_BUILD) | |
| if(NOT SHOULD_BUILD) | |
| message(SEND_ERROR "Test fail for valid CUDA source.") | |
| endif() | |
| check_source_compiles(CUDA "void l(char const (&x)[2]){}; int main() { l(\"\\n\"); return 0;}" | |
| SHOULD_BUILD_COMPLEX) | |
| if(NOT SHOULD_BUILD_COMPLEX) | |
| message(SEND_ERROR "Test fail for valid CUDA complex source.") | |
| endif() |