@@ -12,6 +12,7 @@ include(GNUInstallDirs)
1212
1313set (TAOCPP_JSON_INSTALL_DOC_DIR "${CMAKE_INSTALL_DOCDIR} /tao/json" CACHE STRING "The installation doc directory" )
1414set (TAOCPP_JSON_INSTALL_CMAKE_DIR "${CMAKE_INSTALL_DATAROOTDIR} /${PROJECT_NAME} /cmake" CACHE STRING "The installation cmake directory" )
15+ set (TAOCPP_JSON_INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_DATAROOTDIR} /pkgconfig" CACHE STRING "The installation pkgconfig directory" )
1516
1617# define a header-only library
1718add_library (taocpp-json INTERFACE )
@@ -61,13 +62,20 @@ option(TAOCPP_JSON_INSTALL "Generate the install target" ${TAOCPP_JSON_IS_MAIN_P
6162if (TAOCPP_JSON_INSTALL)
6263 include (CMakePackageConfigHelpers)
6364
64- # Make package findable
65+ # Make package findable by CMake
6566 configure_package_config_file(.cmake/taocpp-json-config.cmake.in ${PROJECT_NAME} -config.cmake
6667 INSTALL_DESTINATION ${TAOCPP_JSON_INSTALL_CMAKE_DIR}
6768 NO_CHECK_REQUIRED_COMPONENTS_MACRO
6869 NO_SET_AND_CHECK_MACRO
6970 )
7071
72+ # Make package findable by pkg-config
73+ configure_package_config_file(.pkg-config/taocpp-json.pc.in ${PROJECT_NAME} .pc
74+ INSTALL_DESTINATION ${TAOCPP_JSON_INSTALL_PKGCONFIG_DIR}
75+ NO_CHECK_REQUIRED_COMPONENTS_MACRO
76+ NO_SET_AND_CHECK_MACRO
77+ )
78+
7179 # Ignore pointer width differences since this is a header-only library
7280 unset (CMAKE_SIZEOF_VOID_P )
7381
@@ -84,6 +92,10 @@ if(TAOCPP_JSON_INSTALL)
8492 ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} -config-version .cmake
8593 DESTINATION ${TAOCPP_JSON_INSTALL_CMAKE_DIR}
8694 )
95+ install (FILES
96+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME} .pc
97+ DESTINATION ${TAOCPP_JSON_INSTALL_PKGCONFIG_DIR}
98+ )
8799 install (EXPORT ${PROJECT_NAME} -targets
88100 NAMESPACE taocpp::
89101 DESTINATION ${TAOCPP_JSON_INSTALL_CMAKE_DIR}
0 commit comments