CodeFree/2_libs/spdlog/CMakeLists.txt

49 lines
1.5 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(spdlog)
# clangd代码感知需要设置
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# 定义这个宏 SPDLOG_COMPILED_LIB 方才可以编译实现文件
add_definitions(-DSPDLOG_COMPILED_LIB)
# 加载头文件
set(SPDLOG_INCLUDE ${PROJECT_SOURCE_DIR}/include)
include_directories(${SPDLOG_INCLUDE})
# 加载指定目录下的所有源文件
aux_source_directory(./src SRC_CODE)
# 生成动态库
add_library(${PROJECT_NAME} SHARED ${SRC_CODE})
# 内置变量默认值为 /usr/local
set(CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR})
# 可以使用 make install 进行放置
install(TARGETS ${PROJECT_NAME} DESTINATION ..)
# 自动寻找spdlog的包并引入
# if(NOT TARGET spdlog)
# # Stand-alone build
# find_package(spdlog REQUIRED)
# endif()
# ---------------------------------------------------------------------------------------
# Example of using pre-compiled library
# ---------------------------------------------------------------------------------------
# add_executable(example example.cpp)
# target_link_libraries(example PRIVATE libspdlog.so)
# ---------------------------------------------------------------------------------------
# Example of using header-only library
# ---------------------------------------------------------------------------------------
# if(SPDLOG_BUILD_EXAMPLE_HO)
# add_executable(example_header_only example.cpp)
# target_link_libraries(example_header_only PRIVATE spdlog::spdlog_header_only)
# endif()