12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #查找头文件说明,查找头文件只需要找到关键的头文件即可,无需包含到所有的头文件
- #查找到这个头文件之后就会将这个目录添加到fmt_INCLUDE_DIRS中
- #如果需要包含多个头文件目录,那么就多写几个find_path
- #NAMES是查找的关键头文件core.h,在查找库的时候会模糊搜索,无需带有前缀或后缀
- #PATHS是查找的路径
- #这里使用CMAKE_CURRENT_LIST_DIR,这个变量一直指向这个.cmake我呢见所在的目录,无论
- #这个文件被哪个CMakeLists.txt包含
- message(STATUS "Find fmt include : ${CMAKE_CURRENT_LIST_DIR}/../../../include")
- #定义fmt版本
- set(fmt_VERSION 11.0.1)
- #先清空缓存
- unset(INCLUDE_DIR CACHE)
- find_path(INCLUDE_DIR
- NAMES core.h
- PATHS ${CMAKE_CURRENT_LIST_DIR}/../../../include/fmt
- NO_DEFAULT_PATH
- )
- list(APPEND fmt_INCLUDE_DIRS ${INCLUDE_DIR})
- #也可以直接指定
- # find_path(fmt_INCLUDE_DIRS fmt/core.h ${CMAKE_SOURCE_DIR}/include)
- # unset(INCLUDE_DIR CACHE)
- # find_path(INCLUDE_DIR
- # NAMES fmt/base.h
- # PATHS ${CMAKE_CURRENT_LIST_DIR}/../../../include
- # NO_DEFAULT_PATH
- # )
- # list(APPEND fmt_INCLUDE_DIRS ${INCLUDE_DIR})
- #查找库文件
- unset(LIBS CACHE)
- find_library(LIBS
- NAMES fmt
- PATHS ${CMAKE_CURRENT_LIST_DIR}/../../../lib
- NO_DEFAULT_PATH
- )
- list(APPEND fmt_LIBRARY ${LIBS})
- #设置查找到了变量
- if(fmt_INCLUDE_DIRS AND fmt_LIBRARY)
- set(fmt_FOUND TRUE)
- endif()
|