FindFFlags.cmake 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. set(_root ${FFlags_ROOT})
  2. if (NOT _root)
  3. find_package_handle_standard_args(FFlags
  4. FOUND_VAR FFlags_FOUND
  5. REQUIRED_VARS _root) # 强制搜不到包
  6. unset(_root)
  7. endif()
  8. # FFlags_ROOT 必须是 FFlags的安装目录
  9. # FFlags
  10. find_path(fflags_h NAMES fflags.h HINTS ${_root}/include DOC "FFlags include directory" NO_DEFAULT_PATH)
  11. find_library(fflags_lib NAMES FFlags libFFlags HINTS ${_root}/lib DOC "FFlags library" NO_DEFAULT_PATH)
  12. set(fflags_INCLUDE_DIRS ${fflags_h})
  13. set(fflags_LIBRARIES ${fflags_lib})
  14. unset(fflags_h CACHE)
  15. unset(fflags_lib CACHE)
  16. find_package_handle_standard_args(FFlags
  17. FOUND_VAR FFlags_FOUND
  18. REQUIRED_VARS
  19. fflags_INCLUDE_DIRS
  20. fflags_LIBRARIES) # 强制搜不到包
  21. if (FFlags_FOUND)
  22. add_library(FFlags::fflags STATIC IMPORTED)
  23. set_target_properties(FFlags::fflags PROPERTIES
  24. IMPORTED_LOCATION "${fflags_LIBRARIES}"
  25. INTERFACE_INCLUDE_DIRECTORIES "${fflags_INCLUDE_DIRS}"
  26. INTERFACE_SOURCES "${fflags_INCLUDE_DIRS}/fflags.h"
  27. PUBLIC_HEADER "${fflags_INCLUDE_DIRS}/fflags.h")
  28. endif()