31 lines
857 B
CMake
31 lines
857 B
CMake
cmake_minimum_required(VERSION 3.20)
|
|
project(rocksdb_bench CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 23)
|
|
|
|
if (CMAKE_BUILD_TYPE MATCHES Release)
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3")
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto")
|
|
endif()
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g")
|
|
|
|
find_package(CLI11 CONFIG REQUIRED)
|
|
|
|
add_executable(rocksdb_bench main.cpp
|
|
instant.h)
|
|
|
|
target_include_directories(rocksdb_bench PRIVATE ${CMAKE_CURRENT_LIST_DIR})
|
|
target_link_libraries(rocksdb_bench rocksdb CLI11::CLI11)
|
|
|
|
file(GLOB ALL_SOURCE_FILES *.cpp *.h)
|
|
add_custom_target(format
|
|
COMMAND clang-format --style=file -i ${ALL_SOURCE_FILES}
|
|
VERBATIM
|
|
)
|
|
|
|
add_custom_target(tidy
|
|
COMMAND clang-tidy -p=${CMAKE_BINARY_DIR} --config-file=${CMAKE_SOURCE_DIR}/.clang-tidy ${ALL_SOURCE_FILES} -extra-arg='--std=c++23'
|
|
COMMENT "Running Clang-Tidy"
|
|
VERBATIM
|
|
)
|