FindPkgConfig_extract_frameworks_target.cmake 1.2 KB

1234567891011121314151617181920212223242526272829
  1. # Prepare environment to reuse bletch.pc
  2. file(TO_NATIVE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/pc-bletch/lib/pkgconfig" PC_PATH)
  3. if(UNIX)
  4. string(REPLACE "\\ " " " PC_PATH "${PC_PATH}")
  5. endif()
  6. set(ENV{PKG_CONFIG_PATH} "${PC_PATH}")
  7. find_package(PkgConfig REQUIRED)
  8. pkg_check_modules(Bletch IMPORTED_TARGET REQUIRED bletch-framework)
  9. if (Bletch_LDFLAGS_OTHER)
  10. message(SEND_ERROR "Bletch_LDFLAGS_OTHER should be empty, but is '${Bletch_LDFLAGS_OTHER}'")
  11. endif ()
  12. if (NOT Bletch_LINK_LIBRARIES STREQUAL "-framework foo;-framework bar;bletch;-framework baz")
  13. message(SEND_ERROR "Bletch_LINK_LIBRARIES has wrong value '${Bletch_LINK_LIBRARIES}'")
  14. endif ()
  15. foreach (prop IN ITEMS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_OPTIONS INTERFACE_COMPILE_OPTIONS)
  16. get_target_property(prop_value PkgConfig::Bletch ${prop})
  17. if (prop_value)
  18. message(SEND_ERROR "target property ${prop} should not be set, but is '${prop_value}'")
  19. endif ()
  20. endforeach ()
  21. get_target_property(prop_value PkgConfig::Bletch INTERFACE_LINK_LIBRARIES)
  22. if (NOT prop_value STREQUAL Bletch_LINK_LIBRARIES)
  23. message(SEND_ERROR "target property INTERFACE_LINK_LIBRARIES has wrong value '${prop_value}'")
  24. endif ()