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

31 lines
888 B
CMake
Raw Normal View History

2024-03-21 18:02:47 +01:00
cmake_minimum_required(VERSION 3.28 FATAL_ERROR)
project(raiiSafeCuda CXX)
option(ENABLE_TESTS "Enable tests' cmake target." ON)
2024-03-21 16:21:05 +01:00
find_package(CUDAToolkit REQUIRED)
2024-03-25 18:13:16 +01:00
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}
)
2024-03-25 18:26:12 +01:00
target_include_directories(raiiSafeCuda PRIVATE include)
2024-03-25 18:13:16 +01:00
target_precompile_headers(raiiSafeCuda PRIVATE ${SAFE_CUDA_HEADERS})
2024-03-21 16:21:05 +01:00
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
)
2024-03-21 18:02:47 +01:00
if (ENABLE_TESTS)
add_subdirectory(tests)
endif ()