cmake_minimum_required(VERSION 3.8 FATAL_ERROR) project(TVALGPU) set(CMAKE_CUDA_COMPILER /usr/local/cuda/bin/nvcc) enable_language(CUDA) file(GLOB_RECURSE tval3_cpp_files src/*.cpp) file(GLOB_RECURSE tval3_cu_files src/*.cu) find_package(CUDAToolkit REQUIRED) add_library(TVALGPU SHARED ${tval3_cpp_files} ${tval3_cu_files}) set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g") target_include_directories(TVALGPU PRIVATE ./src /usr/local/cuda/include) set_target_properties(TVALGPU PROPERTIES CUDA_SEPARABLE_COMPILATION ON) target_compile_options(TVALGPU PRIVATE $<$: --compiler-options -fPIC --use_fast_math --ptxas-options=-v -arch compute_30 -code compute_30,sm_30 >) target_link_libraries(TVALGPU PRIVATE ${CUDA_RUNTIME_LIBRARY} CUDA::cusparse CUDA::cublas) set(TVALGPU_HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/tval3gpu3d.h ${CMAKE_CURRENT_LIST_DIR}/src/tvalstruct.h ${CMAKE_CURRENT_LIST_DIR}/src/CudaEnvInit.h) set_target_properties(TVALGPU PROPERTIES PUBLIC_HEADER "${TVALGPU_HEADERS}")