CheckCUDASourceCompiles.cmake 676 B

1234567891011121314151617181920212223242526272829
  1. enable_language (CUDA)
  2. include(CheckSourceCompiles)
  3. set(CUDA 1) # test that this is tolerated
  4. check_source_compiles(CUDA "I don't build" SHOULD_FAIL)
  5. if(SHOULD_FAIL)
  6. message(SEND_ERROR "invalid CUDA source didn't fail.")
  7. endif()
  8. check_source_compiles(CUDA [=[
  9. #include <vector>
  10. __device__ int d_func() { }
  11. int main() {
  12. return 0;
  13. }
  14. ]=]
  15. SHOULD_BUILD)
  16. if(NOT SHOULD_BUILD)
  17. message(SEND_ERROR "Test fail for valid CUDA source.")
  18. endif()
  19. check_source_compiles(CUDA "void l(char const (&x)[2]){}; int main() { l(\"\\n\"); return 0;}"
  20. SHOULD_BUILD_COMPLEX)
  21. if(NOT SHOULD_BUILD_COMPLEX)
  22. message(SEND_ERROR "Test fail for valid CUDA complex source.")
  23. endif()