|
@@ -45,7 +45,11 @@ list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR})
|
|
list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR}/spdlog)
|
|
list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR}/spdlog)
|
|
#包含fmt头文件,使用fmt的时候包含fmt/bundled/format.h这样的完整目录
|
|
#包含fmt头文件,使用fmt的时候包含fmt/bundled/format.h这样的完整目录
|
|
list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR}/spdlog/fmt)
|
|
list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR}/spdlog/fmt)
|
|
|
|
+list(APPEND spdlog_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/Logs)
|
|
|
|
|
|
|
|
+#添加源文件
|
|
|
|
+unset(spdlog_SOURCES CACHE)
|
|
|
|
+set(spdlog_SOURCES ${CMAKE_CURRENT_LIST_DIR}/Logs/loginit.cpp)
|
|
|
|
|
|
|
|
|
|
unset(spdlog_LIBRARY CACHE)
|
|
unset(spdlog_LIBRARY CACHE)
|
|
@@ -116,7 +120,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
else()
|
|
else()
|
|
list(APPEND spdlog_LIBRARY ${SPDLOG_LIB_DIR}/libspdlog.so)
|
|
list(APPEND spdlog_LIBRARY ${SPDLOG_LIB_DIR}/libspdlog.so)
|
|
endif()
|
|
endif()
|
|
- list(APPEND spdlog_LIBRARY pthread)
|
|
|
|
|
|
+ # list(APPEND spdlog_LIBRARY pthread)
|
|
if(ENABLE_SPDLOG_STATIC_LIB)
|
|
if(ENABLE_SPDLOG_STATIC_LIB)
|
|
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
|
if(CMAKE_BUILD_TYPE MATCHES "Debug")
|
|
list(APPEND spdlog_STATIC_LIBRARY ${SPDLOG_LIB_DIR}/libspdlogd.a)
|
|
list(APPEND spdlog_STATIC_LIBRARY ${SPDLOG_LIB_DIR}/libspdlogd.a)
|
|
@@ -124,7 +128,7 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
list(APPEND spdlog_STATIC_LIBRARY ${SPDLOG_LIB_DIR}/libspdlog.a)
|
|
list(APPEND spdlog_STATIC_LIBRARY ${SPDLOG_LIB_DIR}/libspdlog.a)
|
|
endif()
|
|
endif()
|
|
#这里需要显式的链接依赖库,或者使用target_link_options(appname PRIVATE "-Wl,--copy-dt-needed-entries")来让gcc递归搜索依赖库
|
|
#这里需要显式的链接依赖库,或者使用target_link_options(appname PRIVATE "-Wl,--copy-dt-needed-entries")来让gcc递归搜索依赖库
|
|
- list(APPEND spdlog_STATIC_LIBRARY pthread)
|
|
|
|
|
|
+ # list(APPEND spdlog_STATIC_LIBRARY pthread)
|
|
endif()
|
|
endif()
|
|
#MacOS版本
|
|
#MacOS版本
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
@@ -137,15 +141,8 @@ elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
|
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
-#设置查找到后的变量
|
|
|
|
-# if(ENABLE_SPDLOG_STATIC_LIB)
|
|
|
|
-# set(spdlog_LIBRARY ${spdlog_STATIC_LIBRARY})
|
|
|
|
-# endif()
|
|
|
|
-
|
|
|
|
-# message(STATUS "spdlog_INCLUDE_DIR: ${spdlog_INCLUDE_DIR}")
|
|
|
|
-# message(STATUS "spdlog_LIBRARY: ${spdlog_LIBRARY}")
|
|
|
|
-# message(STATUS "spdlog_STATIC_LIBRARY: ${spdlog_STATIC_LIBRARY}")
|
|
|
|
|
|
|
|
|
|
+#检查是否找到库
|
|
if(spdlog_INCLUDE_DIR AND (spdlog_LIBRARY OR spdlog_STATIC_LIBRARY))
|
|
if(spdlog_INCLUDE_DIR AND (spdlog_LIBRARY OR spdlog_STATIC_LIBRARY))
|
|
set(spdlog_FOUND TRUE)
|
|
set(spdlog_FOUND TRUE)
|
|
set(spdlog_VERSION ${SPDLOG_V})
|
|
set(spdlog_VERSION ${SPDLOG_V})
|
|
@@ -158,6 +155,9 @@ if(spdlog_INCLUDE_DIR AND (spdlog_LIBRARY OR spdlog_STATIC_LIBRARY))
|
|
if(ENABLE_SPDLOG_STATIC_LIB)
|
|
if(ENABLE_SPDLOG_STATIC_LIB)
|
|
message(STATUS "Static Library : spdlog_STATIC_LIBRARY")
|
|
message(STATUS "Static Library : spdlog_STATIC_LIBRARY")
|
|
endif()
|
|
endif()
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
else()
|
|
else()
|
|
set(spdlog_FOUND FALSE)
|
|
set(spdlog_FOUND FALSE)
|
|
endif()
|
|
endif()
|
|
@@ -165,3 +165,39 @@ endif()
|
|
message(STATUS "spdlog FOUND: ${spdlog_FOUND}")
|
|
message(STATUS "spdlog FOUND: ${spdlog_FOUND}")
|
|
message(STATUS "spdlog Version: ${spdlog_VERSION}")
|
|
message(STATUS "spdlog Version: ${spdlog_VERSION}")
|
|
message(STATUS "--------------------------------------------------")
|
|
message(STATUS "--------------------------------------------------")
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#导入目标
|
|
|
|
+if(spdlog_FOUND)
|
|
|
|
+ if(NOT TARGET spdlog::spdlog)
|
|
|
|
+ add_library(spdlog::spdlog UNKNOWN IMPORTED)
|
|
|
|
+ #添加头文件
|
|
|
|
+ set_target_properties(spdlog::spdlog PROPERTIES
|
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${spdlog_INCLUDE_DIR}")
|
|
|
|
+
|
|
|
|
+ #添加库文件
|
|
|
|
+ if(ENABLE_SPDLOG_STATIC_LIB)
|
|
|
|
+ set_target_properties(spdlog::spdlog PROPERTIES
|
|
|
|
+ IMPORTED_LOCATION "${spdlog_STATIC_LIBRARY}")
|
|
|
|
+ #添加spdlog需要的依赖库
|
|
|
|
+ set_target_properties(spdlog::spdlog PROPERTIES
|
|
|
|
+ INTERFACE_LINK_LIBRARIES "pthread")
|
|
|
|
+ else()
|
|
|
|
+ set_target_properties(spdlog::spdlog PROPERTIES
|
|
|
|
+ IMPORTED_LOCATION "${spdlog_LIBRARY}")
|
|
|
|
+ set_target_properties(spdlog::spdlog PROPERTIES
|
|
|
|
+ INTERFACE_LINK_LIBRARIES "pthread")
|
|
|
|
+ endif()
|
|
|
|
+
|
|
|
|
+ #添加源文件
|
|
|
|
+ set_target_properties(spdlog::spdlog PROPERTIES
|
|
|
|
+ INTERFACE_SOURCES "${spdlog_SOURCES}")
|
|
|
|
+ endif()
|
|
|
|
+endif()
|
|
|
|
+
|
|
|
|
+# 标记这些变量为高级变量
|
|
|
|
+mark_as_advanced(
|
|
|
|
+ spdlog_INCLUDE_DIR
|
|
|
|
+ spdlog_LIBRARY
|
|
|
|
+ spdlog_STATIC_LIBRARY
|
|
|
|
+)
|