12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- #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 "---------------------------------")
|