@@ -12,6 +12,7 @@ include(GNUInstallDirs)
12
12
13
13
set (TAOCPP_JSON_INSTALL_DOC_DIR "${CMAKE_INSTALL_DOCDIR} /tao/json" CACHE STRING "The installation doc directory" )
14
14
set (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" )
15
16
16
17
# define a header-only library
17
18
add_library (taocpp-json INTERFACE )
@@ -61,13 +62,20 @@ option(TAOCPP_JSON_INSTALL "Generate the install target" ${TAOCPP_JSON_IS_MAIN_P
61
62
if (TAOCPP_JSON_INSTALL )
62
63
include (CMakePackageConfigHelpers )
63
64
64
- # Make package findable
65
+ # Make package findable by CMake
65
66
configure_package_config_file (.cmake/taocpp-json-config.cmake.in ${PROJECT_NAME} -config.cmake
66
67
INSTALL_DESTINATION ${TAOCPP_JSON_INSTALL_CMAKE_DIR}
67
68
NO_CHECK_REQUIRED_COMPONENTS_MACRO
68
69
NO_SET_AND_CHECK_MACRO
69
70
)
70
71
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
+
71
79
# Ignore pointer width differences since this is a header-only library
72
80
unset (CMAKE_SIZEOF_VOID_P )
73
81
@@ -84,6 +92,10 @@ if(TAOCPP_JSON_INSTALL)
84
92
${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME}-config-version.cmake
85
93
DESTINATION ${TAOCPP_JSON_INSTALL_CMAKE_DIR}
86
94
)
95
+ install (FILES
96
+ ${CMAKE_CURRENT_BINARY_DIR} /${PROJECT_NAME}.pc
97
+ DESTINATION ${TAOCPP_JSON_INSTALL_PKGCONFIG_DIR}
98
+ )
87
99
install (EXPORT ${PROJECT_NAME} -targets
88
100
NAMESPACE taocpp::
89
101
DESTINATION ${TAOCPP_JSON_INSTALL_CMAKE_DIR}
0 commit comments