harfbuzz-config.cmake 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. get_filename_component(PACKAGE_PREFIX_DIR "${CMAKE_CURRENT_LIST_DIR}/../../.." ABSOLUTE)
  2. macro(set_and_check _var _file)
  3. set(${_var} "${_file}")
  4. if(NOT EXISTS "${_file}")
  5. message(FATAL_ERROR "File or directory ${_file} referenced by variable ${_var} does not exist !")
  6. endif()
  7. endmacro()
  8. macro(check_required_components _NAME)
  9. foreach(comp ${${_NAME}_FIND_COMPONENTS})
  10. if(NOT ${_NAME}_${comp}_FOUND)
  11. if(${_NAME}_FIND_REQUIRED_${comp})
  12. set(${_NAME}_FOUND FALSE)
  13. endif()
  14. endif()
  15. endforeach()
  16. endmacro()
  17. set_and_check(HARFBUZZ_INCLUDE_DIR "${PACKAGE_PREFIX_DIR}/include/harfbuzz")
  18. # Add the libraries.
  19. add_library(harfbuzz::harfbuzz SHARED IMPORTED)
  20. set_target_properties(harfbuzz::harfbuzz PROPERTIES
  21. INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/include/harfbuzz"
  22. IMPORTED_LOCATION "${PACKAGE_PREFIX_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}harfbuzz${CMAKE_IMPORT_LIBRARY_SUFFIX}")
  23. add_library(harfbuzz::icu SHARED IMPORTED)
  24. set_target_properties(harfbuzz::icu PROPERTIES
  25. INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/include/harfbuzz"
  26. INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
  27. IMPORTED_LOCATION "${PACKAGE_PREFIX_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}harfbuzz-icu${CMAKE_IMPORT_LIBRARY_SUFFIX}")
  28. add_library(harfbuzz::subset SHARED IMPORTED)
  29. set_target_properties(harfbuzz::subset PROPERTIES
  30. INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/include/harfbuzz"
  31. INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
  32. IMPORTED_LOCATION "${PACKAGE_PREFIX_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}harfbuzz-subset${CMAKE_IMPORT_LIBRARY_SUFFIX}")
  33. # Only add the gobject library if it was built.
  34. if (YES)
  35. add_library(harfbuzz::gobject SHARED IMPORTED)
  36. set_target_properties(harfbuzz::gobject PROPERTIES
  37. INTERFACE_INCLUDE_DIRECTORIES "${PACKAGE_PREFIX_DIR}/include/harfbuzz"
  38. INTERFACE_LINK_LIBRARIES "harfbuzz::harfbuzz"
  39. IMPORTED_LOCATION "${PACKAGE_PREFIX_DIR}/lib/${CMAKE_IMPORT_LIBRARY_PREFIX}harfbuzz-gobject${CMAKE_IMPORT_LIBRARY_SUFFIX}")
  40. endif ()
  41. check_required_components(harfbuzz)