Files
redis-cpp/CMakeLists.txt

60 lines
1.5 KiB
CMake
Raw Normal View History

2025-09-09 17:16:32 +08:00
cmake_minimum_required(VERSION 3.13)
project(redis-starter-cpp LANGUAGES C CXX)
2025-09-09 17:55:56 +08:00
if (NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 11) # Enable the C++23 standard
endif()
2025-09-09 17:16:32 +08:00
set(THREADS_PREFER_PTHREAD_FLAG ON)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -static-libgcc -static-libstdc++")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -static-libgcc -static-libstdc++")
find_package(Threads REQUIRED)
include(cmake/CPM.cmake)
CPMAddPackage(
NAME Boost
VERSION 1.89.0
URL https://github.com/boostorg/boost/releases/download/boost-1.89.0/boost-1.89.0-cmake.tar.xz
URL_HASH SHA256=67acec02d0d118b5de9eb441f5fb707b3a1cdd884be00ca24b9a73c995511f74
# SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/third_party/boost
OPTIONS "BOOST_ENABLE_CMAKE ON"
)
CPMAddPackage(
NAME spdlog
VERSION 1.12.0
URL https://github.com/gabime/spdlog/archive/refs/tags/v1.12.0.zip
URL_HASH SHA256=6174bf8885287422a6c6a0312eb8a30e8d22bcfcee7c48a6d02d1835d7769232
OPTIONS "SPDLOG_BUILD_PIC ON"
)
2025-09-09 17:54:40 +08:00
2025-09-09 17:16:32 +08:00
file(GLOB_RECURSE SOURCE_FILES src/*.cpp src/*.cc)
add_executable(server ${SOURCE_FILES})
target_link_libraries(server PRIVATE
Threads::Threads
Boost::array
Boost::asio
Boost::filesystem
Boost::format
Boost::log
Boost::log_setup
2025-09-09 19:15:40 +08:00
Boost::signals2
2025-09-09 17:16:32 +08:00
Boost::property_tree
Boost::serialization
Boost::filesystem
Boost::dll
Boost::crc
Boost::range
Boost::foreach
Boost::timer
Boost::contract
spdlog::spdlog
# Poco::Foundation
# Poco::Net
# Poco::Util
)
target_include_directories(server PRIVATE src)