cmake_policy(SET CMP0104 NEW) enable_language(CUDA) file(TOUCH ${CMAKE_BINARY_DIR}/empty.cmake) add_library(simplecudaobj OBJECT simplelib.cu) set_target_properties(simplecudaobj PROPERTIES POSITION_INDEPENDENT_CODE ON) add_library(simplecudashared SHARED ) target_link_libraries(simplecudashared PRIVATE simplecudaobj) set_target_properties(simplecudaobj simplecudashared PROPERTIES CUDA_SEPARABLE_COMPILATION ON) add_executable(simplecudaexe main.cu ) target_link_libraries(simplecudaexe PRIVATE simplecudashared) if(WIN32 AND CMAKE_CUDA_COMPILER_ID STREQUAL "Clang") set(generate_output_files_NO_EXE_LIB 1) endif() include(${CMAKE_CURRENT_LIST_DIR}/Common.cmake) generate_output_files(simplecudaexe simplecudashared simplecudaobj) file(APPEND "${CMAKE_BINARY_DIR}/target_files.cmake" "set(GENERATED_FILES [==[${CMAKE_BINARY_DIR}/empty.cmake]==])\n")