49 lines
1.5 KiB
CMake
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()
|
|
|