|
@@ -3,29 +3,45 @@
|
|
|
#SPDLOG日志库,Qt5使用1.14.1,Qt6使用1.15.1,不包含Qt则使用1.15.1
|
|
|
#Qt5使用1.15.1会报错,Qt6使用1.14.1会报错,不知道为何
|
|
|
|
|
|
+#勘误,spdlog不是根据Qt版本来的,是gcc编译版本,gcc7.3和gcc11.2版本不兼容
|
|
|
+
|
|
|
message(STATUS "***** Find spdlog Library *****")
|
|
|
|
|
|
-#设置版本号
|
|
|
-if(QT_VERSION_MAJOR EQUAL 5)
|
|
|
- set(SPDLOG_V 1.14.1)
|
|
|
-elseif(QT_VERSION_MAJOR EQUAL 6)
|
|
|
- set(SPDLOG_V 1.15.1)
|
|
|
-else()
|
|
|
- set(SPDLOG_V 1.15.1)
|
|
|
-endif()
|
|
|
|
|
|
-#寻找头文件,现在需要区分Qt版本了,Qt5使用1.14.1,Qt6使用1.15.1,不包含Qt则使用1.15.1
|
|
|
+#寻找头文件,需要判断gcc编译器版本
|
|
|
unset(spdlog_INCLUDE_DIR CACHE)
|
|
|
unset(SPDLOG_INC_DIR CACHE)
|
|
|
-
|
|
|
-if(QT_VERSION_MAJOR EQUAL 5)
|
|
|
+#判断操作系统
|
|
|
+if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
|
+ if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
|
+ if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 7.3)
|
|
|
+ message(STATUS "GCC编译器版本过低,请使用GCC7.3及以上版本")
|
|
|
+ return()
|
|
|
+ elseif(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 11.2 AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.2)
|
|
|
+ set(SPDLOG_V 1.14.1)
|
|
|
+ set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.14.1)
|
|
|
+ elseif(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 11.1)
|
|
|
+ set(SPDLOG_V 1.15.1)
|
|
|
+ set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.15.1)
|
|
|
+ endif()
|
|
|
+ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|
|
+ #MSVC编译器
|
|
|
+ set(SPDLOG_V 1.14.1)
|
|
|
+ set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.14.1)
|
|
|
+ endif()
|
|
|
+
|
|
|
+elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
|
|
+ set(SPDLOG_V 1.14.1)
|
|
|
+ set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.14.1)
|
|
|
+elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
|
|
|
+ set(SPDLOG_V 1.14.1)
|
|
|
set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.14.1)
|
|
|
-elseif(QT_VERSION_MAJOR EQUAL 6)
|
|
|
- set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.15.1)
|
|
|
else()
|
|
|
- set(SPDLOG_INC_DIR ${CMAKE_CURRENT_LIST_DIR}/include_1.15.1)
|
|
|
+ message(STATUS "操作系统:未知")
|
|
|
endif()
|
|
|
|
|
|
+
|
|
|
+
|
|
|
list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR})
|
|
|
list(APPEND spdlog_INCLUDE_DIR ${SPDLOG_INC_DIR}/spdlog)
|
|
|
#包含fmt头文件,使用fmt的时候包含fmt/bundled/format.h这样的完整目录
|
|
@@ -42,13 +58,13 @@ if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
|
|
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU")
|
|
|
#64位
|
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
|
- #Qt5版本
|
|
|
- if(QT_VERSION_MAJOR EQUAL 5)
|
|
|
+ #GCC7.3版本
|
|
|
+ if(SPDLOG_V EQUAL 1.14.1)
|
|
|
set(SPDLOG_LIB_DIR ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3)
|
|
|
- #Qt6版本
|
|
|
- elseif(QT_VERSION_MAJOR EQUAL 6)
|
|
|
+ #GCC11.2版本
|
|
|
+ elseif(SPDLOG_V EQUAL 1.15.1)
|
|
|
set(SPDLOG_LIB_DIR ${CMAKE_CURRENT_LIST_DIR}/windows/gcc11.2)
|
|
|
- #没有Qt版本
|
|
|
+ #默认版本
|
|
|
else()
|
|
|
set(SPDLOG_LIB_DIR ${CMAKE_CURRENT_LIST_DIR}/windows/gcc11.2)
|
|
|
endif()
|