2 Star 7 Fork 0

Suycx/KVstorageBaseRaft-cpp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
CMakeLists.txt 1.68 KB
一键复制 编辑 原始数据 按行查看 历史
# 设置cmake的最低版本和项目名称
cmake_minimum_required(VERSION 3.14)
cmake_policy(SET CMP0144 NEW)
project(KVRaftCpp)
# 开启生成 cpmpile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Debug")
endif()
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DDprintf_Debug)
endif()
if(CMAKE_PROJECT_NAME STREQUAL "KVRaftCpp")
option(KVRaftCpp_BUILD_EXAMPLES "Build KVRaftCpp examples" ON)
endif()
# 设置全局编译选项
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64 -std=c++20")
# 分别为调试和发布版本设置编译选项
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -g -O0")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -O2 -DNDEBUG")
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)
find_package(Boost REQUIRED COMPONENTS system)
find_package(Protobuf REQUIRED)
find_package(gRPC CONFIG REQUIRED)
include_directories(
${PROJECT_SOURCE_DIR}/src
${PROJECT_SOURCE_DIR}/thirdParty/msd
${PROJECT_SOURCE_DIR}/thirdParty/scopeGuard
${PROJECT_SOURCE_DIR}/thirdParty/skipList
${PROJECT_SOURCE_DIR}/thirdParty/spdlog/include
)
# 设置项目库文件搜索路径 -L
link_directories(
${PROJECT_SOURCE_DIR}/lib
# /usr/local/lib
)
add_subdirectory(src)
if (KVRaftCpp_BUILD_EXAMPLES)
add_subdirectory(example)
endif()
# 添加格式化目标 start
# from : https://blog.csdn.net/guotianqing/article/details/121661067
add_custom_target(format
COMMAND bash ${PROJECT_SOURCE_DIR}/format.sh
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
COMMAND echo "format done!"
)
# 添加格式化目标 end
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/suycx/KVstorageBaseRaft-cpp.git
git@gitee.com:suycx/KVstorageBaseRaft-cpp.git
suycx
KVstorageBaseRaft-cpp
KVstorageBaseRaft-cpp
grpcbased

搜索帮助