1
0
Fork 0
raii-safe-cuda/CMakeLists.txt

31 lines
888 B
CMake

cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
project(raiiSafeCuda CXX)
option(ENABLE_TESTS "Enable tests' cmake target." ON)
find_package(CUDAToolkit REQUIRED)
file(GLOB_RECURSE SAFE_CUDA_HEADERS include/*.hpp)
file(GLOB_RECURSE SAFE_CUDA_SOURCES src/*.cpp)
add_library(raiiSafeCuda SHARED
${SAFE_CUDA_HEADERS}
${SAFE_CUDA_SOURCES}
)
target_include_directories(raiiSafeCuda PRIVATE include)
target_precompile_headers(raiiSafeCuda PRIVATE ${SAFE_CUDA_HEADERS})
target_compile_definitions(raiiSafeCuda PRIVATE $<$<CONFIG:Debug>:_GLIBCXX_DEBUG>)
target_compile_options(raiiSafeCuda PRIVATE -pipe -Wall -Wextra -pedantic)
target_link_libraries(raiiSafeCuda CUDA::cudart)
set_target_properties(raiiSafeCuda PROPERTIES
CXX_STANDARD 20
CXX_EXTENSIONS OFF
INTERPROCEDURAL_OPTIMIZATION ON
)
if (ENABLE_TESTS)
add_subdirectory(tests)
endif ()