CudaSimple.cmake 844 B

12345678910111213141516171819202122
  1. cmake_policy(SET CMP0104 NEW)
  2. enable_language(CUDA)
  3. file(TOUCH ${CMAKE_BINARY_DIR}/empty.cmake)
  4. add_library(simplecudaobj OBJECT simplelib.cu)
  5. set_target_properties(simplecudaobj
  6. PROPERTIES
  7. POSITION_INDEPENDENT_CODE ON)
  8. add_library(simplecudashared SHARED )
  9. target_link_libraries(simplecudashared PRIVATE simplecudaobj)
  10. set_target_properties(simplecudaobj simplecudashared
  11. PROPERTIES
  12. CUDA_SEPARABLE_COMPILATION ON)
  13. add_executable(simplecudaexe main.cu )
  14. target_link_libraries(simplecudaexe PRIVATE simplecudashared)
  15. include(${CMAKE_CURRENT_LIST_DIR}/Common.cmake)
  16. generate_output_files(simplecudaexe simplecudashared simplecudaobj)
  17. file(APPEND "${CMAKE_BINARY_DIR}/target_files.cmake" "set(GENERATED_FILES [==[${CMAKE_BINARY_DIR}/empty.cmake]==])\n")