Findspdlog.cmake_back 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. message(STATUS "Find spdlog include : ${CMAKE_CURRENT_LIST_DIR}/../../../include")
  2. #使用外部的fmt库
  3. #需要定义这个宏,才会使用编译好的动态库
  4. add_compile_definitions(SPDLOG_COMPILED_LIB)
  5. #添加这个定义,使用外部的fmt库
  6. add_compile_definitions(SPDLOG_FMT_EXTERNAL)
  7. # set(SPDLOG_FMT_EXTERNAL ON)
  8. # set(SPDLOG_FMT_EXTERNAL_HO OFF)
  9. #定义spdlog版本
  10. set(spdlog_VERSION 1.14.1)
  11. #先清空缓存
  12. unset(INCLUDE_DIR CACHE)
  13. find_path(INCLUDE_DIR
  14. NAMES spdlog.h
  15. PATHS ${CMAKE_CURRENT_LIST_DIR}/../../../include/spdlog
  16. NO_DEFAULT_PATH
  17. )
  18. list(APPEND spdlog_INCLUDE_DIRS ${INCLUDE_DIR})
  19. unset(INCLUDE_DIR CACHE)
  20. find_path(INCLUDE_DIR
  21. NAMES spdlog/spdlog.h
  22. PATHS ${CMAKE_CURRENT_LIST_DIR}/../../../include
  23. NO_DEFAULT_PATH
  24. )
  25. list(APPEND spdlog_INCLUDE_DIRS ${INCLUDE_DIR})
  26. #查找库文件
  27. find_library(spdlog_LIBRARY
  28. NAMES spdlog
  29. PATHS ${CMAKE_CURRENT_LIST_DIR}/../../../lib
  30. NO_DEFAULT_PATH
  31. )
  32. if(spdlog_INCLUDE_DIRS AND spdlog_LIBRARY)
  33. set(spdlog_FOUND TRUE)
  34. endif()