diff options
Diffstat (limited to 'CMakeLists.txt')
| -rw-r--r-- | CMakeLists.txt | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f8285b8..ad9a488 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.9) # Keep the version below in sync with the one in db.h -project(leveldb VERSION 1.23.0 LANGUAGES C CXX) +project(leveldb VERSION 1.23.0 LANGUAGES C CXX CUDA) # C standard can be overridden when this is used as a sub-project. if(NOT CMAKE_C_STANDARD) @@ -76,6 +76,8 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti") endif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -frtti") + # Test whether -Wthread-safety is available. See # https://clang.llvm.org/docs/ThreadSafetyAnalysis.html include(CheckCXXCompilerFlag) @@ -116,6 +118,9 @@ endif(BUILD_SHARED_LIBS) # Must be included before CMAKE_INSTALL_INCLUDEDIR is used. include(GNUInstallDirs) +set(CMAKE_CUDA_STANDARD 14) +find_package(CUDA REQUIRED) + add_library(leveldb "") target_sources(leveldb PRIVATE @@ -169,8 +174,8 @@ target_sources(leveldb "table/table.cc" "table/two_level_iterator.cc" "table/two_level_iterator.h" - "util/arena.cc" - "util/arena.h" + "util/arena.cu" + "util/arena.cuh" "util/bloom.cc" "util/cache.cc" "util/coding.cc" @@ -208,6 +213,7 @@ target_sources(leveldb "${LEVELDB_PUBLIC_INCLUDE_DIR}/table.h" "${LEVELDB_PUBLIC_INCLUDE_DIR}/write_batch.h" ) +set_target_properties(leveldb PROPERTIES CUDA_ARCHITECTURES "35;50;72") if (WIN32) target_sources(leveldb @@ -367,7 +373,7 @@ if(LEVELDB_BUILD_TESTS) leveldb_test("table/filter_block_test.cc") leveldb_test("table/table_test.cc") - leveldb_test("util/arena_test.cc") + leveldb_test("util/arena_test.cu") leveldb_test("util/bloom_test.cc") leveldb_test("util/cache_test.cc") leveldb_test("util/coding_test.cc") |
