Files
URDepends/TVALGPU/CMakeLists.txt
2023-06-09 11:20:00 +08:00

21 lines
1.1 KiB
CMake

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 $<$<COMPILE_LANGUAGE:CUDA>:
--compiler-options -fPIC
--use_fast_math
--ptxas-options=-v
-arch sm_70
>)
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}")