#fmt格式化库 message(STATUS "***** Find fmt Library *****") #寻找头文件 unset(fmt_INCLUDE_DIR CACHE) # find_path(fmt_INCLUDE_DIR # NAMES fmt/base.h # PATHS ${CMAKE_CURRENT_LIST_DIR}/include # NO_DEFAULT_PATH # ) list(APPEND fmt_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/include) list(APPEND fmt_INCLUDE_DIR ${CMAKE_CURRENT_LIST_DIR}/include/fmt) unset(fmt_LIBRARY CACHE) unset(fmt_STATIC_LIBRARY CACHE) #查找库文件,需要判断操作系统,位数 if(CMAKE_SYSTEM_NAME MATCHES "Windows") if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") if(CMAKE_SIZEOF_VOID_P EQUAL 8) if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3/libfmt.dll) else() list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3/libfmt.dll) endif() if(ENABLE_SPDLOG_STATIC_LIB) if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND fmt_STATIC_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3_static/libfmt.a) else() list(APPEND fmt_STATIC_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3_static/libfmt.a) endif() endif() elseif(CMAKE_SIZEOF_VOID_P EQUAL 4) if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3_32/libfmt.dll) else() list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/gcc7.3_32/libfmt.dll) endif() endif() elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC") if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/msvc2022/libfmt.lib) else() list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/windows/msvc2022/libfmt.lib) endif() endif() #添加Linux版本 elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3/libfmt.so) else() list(APPEND fmt_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3/libfmt.so) endif() if(ENABLE_SPDLOG_STATIC_LIB) if(CMAKE_BUILD_TYPE MATCHES "Debug") list(APPEND fmt_STATIC_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3_static/libfmt.a) else() list(APPEND fmt_STATIC_LIBRARY ${CMAKE_CURRENT_LIST_DIR}/linux/gcc8.3_static/libfmt.a) endif() endif() endif() #设置查找到后的变量 # if(ENABLE_SPDLOG_STATIC_LIB) # set(fmt_LIBRARY ${fmt_STATIC_LIBRARY}) # endif() if(fmt_INCLUDE_DIR AND fmt_LIBRARY) set(fmt_FOUND TRUE) set(fmt_VERSION 11.0.1) else() set(fmt_FOUND FALSE) endif() if(ENABLE_SPDLOG_STATIC_LIB) message(STATUS "include : fmt_INCLUDE_DIR") message(STATUS "Library : fmt_LIBRARY") message(STATUS "Static Library : fmt_STATIC_LIBRARY") else() message(STATUS "include : fmt_INCLUDE_DIR") message(STATUS "Library : fmt_LIBRARY") endif() message(STATUS "---------------------------------")