Findfmt.cmake 953 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. find_package(PkgConfig QUIET)
  2. pkg_check_modules(PC_fmt QUIET fmt)
  3. find_path(fmt_INCLUDE_DIR
  4. NAMES format.h
  5. PATHS ${PC_fmt_INCLUDE_DIRS} ${CONAN_INCLUDE_DIRS_fmt}
  6. PATH_SUFFIXES fmt
  7. )
  8. find_library(fmt_LIBRARY
  9. NAMES fmt
  10. PATHS ${PC_fmt_LIBRARY_DIRS} ${CONAN_LIB_DIRS_fmt}
  11. )
  12. include(FindPackageHandleStandardArgs)
  13. find_package_handle_standard_args(fmt
  14. FOUND_VAR fmt_FOUND
  15. REQUIRED_VARS
  16. fmt_LIBRARY
  17. fmt_INCLUDE_DIR
  18. VERSION_VAR fmt_VERSION
  19. )
  20. if(fmt_FOUND)
  21. set(fmt_LIBRARIES ${fmt_LIBRARY})
  22. set(fmt_INCLUDE_DIRS ${fmt_INCLUDE_DIR})
  23. set(fmt_DEFINITIONS ${PC_fmt_CFLAGS_OTHER})
  24. endif()
  25. if(fmt_FOUND AND NOT TARGET fmt::fmt)
  26. add_library(fmt::fmt UNKNOWN IMPORTED)
  27. set_target_properties(fmt::fmt PROPERTIES
  28. IMPORTED_LOCATION "${fmt_LIBRARY}"
  29. INTERFACE_COMPILE_OPTIONS "${PC_fmt_CFLAGS_OTHER}"
  30. INTERFACE_INCLUDE_DIRECTORIES "${fmt_INCLUDE_DIR}"
  31. )
  32. endif()
  33. mark_as_advanced(
  34. fmt_INCLUDE_DIR
  35. fmt_LIBRARY
  36. )