@@ -438,11 +438,40 @@ endif()
438438if (ENABLE_DOCS)
439439endif ()
440440
441- configure_file (${CMAKE_CURRENT_SOURCE_DIR} /jq.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR} /jq.pc @ONLY)
442441
443442# TODO: support full packaging
444443install_library(jq)
445444install_executable(jq_bin)
446445install_header(src/jv.h src/jq.h)
447446install_data(AUTHORS COPYING NEWS README)
448- install (FILES ${CMAKE_CURRENT_BINARY_DIR} /jq.pc DESTINATION lib/pkgconfig)
447+
448+ # export cmake configurations
449+ install (TARGETS jq onig EXPORT jqTargets)
450+ install (EXPORT jqTargets FILE jqTargets.cmake DESTINATION lib/cmake/jq)
451+ include (CMakePackageConfigHelpers)
452+ # generate the config file that includes the exports
453+ configure_package_config_file(
454+ ${CMAKE_CURRENT_SOURCE_DIR} /Config.cmake.in
455+ ${CMAKE_CURRENT_BINARY_DIR} /jqConfig.cmake
456+ INSTALL_DESTINATION lib/cmake/jq
457+ NO_SET_AND_CHECK_MACRO
458+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
459+ )
460+ # generate the version file for the config file
461+ write_basic_package_version_file(
462+ ${CMAKE_CURRENT_BINARY_DIR} /jqConfigVersion.cmake
463+ VERSION ${PACKAGE_VERSION}
464+ COMPATIBILITY AnyNewerVersion
465+ )
466+ # install the configuration file
467+ install (FILES
468+ ${CMAKE_CURRENT_BINARY_DIR} /jqConfig.cmake
469+ ${CMAKE_CURRENT_BINARY_DIR} /jqConfigVersion.cmake
470+ DESTINATION lib/cmake/jq
471+ )
472+
473+ # information in legacy pkgconfig is wrong/missing
474+ #configure_file(${CMAKE_CURRENT_SOURCE_DIR}/jq.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/jq.pc @ONLY)
475+ #install(FILES ${CMAKE_CURRENT_BINARY_DIR}/jq.pc DESTINATION lib/pkgconfig)
476+
477+ #export(EXPORT jqTargets FILE ${CMAKE_CURRENT_BINARY_DIR}/jqTargets.cmake)
0 commit comments