From d9edfd4ac9289ac5af7e41c7a75482451723b4e0 Mon Sep 17 00:00:00 2001 From: Cristian Morales Vega Date: Fri, 6 Nov 2020 10:31:08 +0000 Subject: [PATCH] cmake: add RELOCATABLE_PKGCONFIG option --- CMakeLists.txt | 11 +++++++++++ CMakeOptions.txt | 2 ++ 2 files changed, 13 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3315d2fc..aeb87150 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -416,10 +416,21 @@ file(RELATIVE_PATH top_builddir "${CMAKE_CURRENT_BINARY_DIR}/dir" "${CMAKE_CURRE set(abs_top_srcdir "${CMAKE_CURRENT_SOURCE_DIR}") set(abs_top_builddir "${CMAKE_CURRENT_BINARY_DIR}") # libnghttp2.pc (pkg-config file) +if(RELOCATABLE_PKGCONFIG) +file(RELATIVE_PATH PKGCONF_TO_PREFIX "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig" "${CMAKE_INSTALL_PREFIX}") +file(RELATIVE_PATH EXEC_PREFIX_TO_LIBDIR "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_FULL_LIBDIR}") +file(RELATIVE_PATH PREFIX_TO_INCLUDEDIR "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_FULL_INCLUDEDIR}") + +set(prefix "\${pcfiledir}/${PKGCONF_TO_PREFIX}") +set(exec_prefix "\${prefix}") +set(libdir "\${exec_prefix}/${EXEC_PREFIX_TO_LIBDIR}") +set(includedir "\${prefix}/${PREFIX_TO_INCLUDEDIR}") +else() set(prefix "${CMAKE_INSTALL_PREFIX}") set(exec_prefix "${CMAKE_INSTALL_PREFIX}") set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}") set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}") +endif() set(VERSION "${PACKAGE_VERSION}") # For init scripts and systemd service file (in contrib/) set(bindir "${CMAKE_INSTALL_FULL_BINDIR}") diff --git a/CMakeOptions.txt b/CMakeOptions.txt index a8332bf0..b112ca1a 100644 --- a/CMakeOptions.txt +++ b/CMakeOptions.txt @@ -27,4 +27,6 @@ option(WITH_SPDYLAY "Use spdylay" option(WITH_MRUBY "Use mruby") option(WITH_NEVERBLEED "Use neverbleed") +option(RELOCATABLE_PKGCONFIG "Make the pkg-config files relocatable") + # vim: ft=cmake: