cmake_minimum_required(VERSION 3.10) project(RocksDBWrapper) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) include_directories(${CMAKE_SOURCE_DIR}/external/tser/include) # Add the source files set(SOURCES RocksDBWrapper.cpp ) # Find RocksDB find_package(RocksDB REQUIRED) # Create the library target add_library(RocksDBWrapper STATIC ${SOURCES}) # Link the RocksDB library target_link_libraries(RocksDBWrapper RocksDB::rocksdb) # Add the executable for testing add_executable(RocksDBWrapperExecutable main.cpp) target_link_libraries(RocksDBWrapperExecutable RocksDBWrapper) # Optionally add tests option(BUILD_TESTS "Build tests" OFF) if (BUILD_TESTS) include(FetchContent) FetchContent_Declare( googletest URL https://github.com/google/googletest/archive/refs/tags/release-1.11.0.zip ) FetchContent_MakeAvailable(googletest) enable_testing() add_executable(RocksDBWrapperTest test_RocksDBWrapper.cpp) target_link_libraries(RocksDBWrapperTest RocksDBWrapper gtest gtest_main) add_test(NAME RocksDBWrapperTest COMMAND RocksDBWrapperTest) endif()