From f083da4c1efb0d897a89f079bfcc25401d9da513 Mon Sep 17 00:00:00 2001 From: levlam Date: Sat, 9 Jul 2022 23:40:22 +0300 Subject: [PATCH] Ignore CMAKE_INSTALL_PREFIX in pkgconfig, if CMAKE_INSTALL_*DIR is absolute. --- CMake/GeneratePkgConfig.cmake | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/CMake/GeneratePkgConfig.cmake b/CMake/GeneratePkgConfig.cmake index b9154de13..afbe06ac6 100644 --- a/CMake/GeneratePkgConfig.cmake +++ b/CMake/GeneratePkgConfig.cmake @@ -64,6 +64,18 @@ function(generate_pkgconfig TARGET DESCRIPTION) set(LIBRARIES "Libs.private:${LIBRARIES}\n") endif() + if (IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}") + set(PKGCONFIG_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}") + else() + set(PKGCONFIG_INCLUDEDIR "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}") + endif() + + if (IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}") + set(PKGCONFIG_LIBDIR "${CMAKE_INSTALL_LIBDIR}") + else() + set(PKGCONFIG_LIBDIR "\${prefix}/${CMAKE_INSTALL_LIBDIR}") + endif() + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig") file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/${TARGET}.pc" CONTENT "prefix=${PREFIX} @@ -72,8 +84,8 @@ Name: ${TARGET} Description: ${DESCRIPTION} Version: ${PROJECT_VERSION} -CFlags: -I\"\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}\" -Libs: -L\"\${prefix}/${CMAKE_INSTALL_LIBDIR}\" -l${TARGET} +CFlags: -I\"${PKGCONFIG_INCLUDEDIR}\" +Libs: -L\"${PKGCONFIG_LIBDIR}\" -l${TARGET} ${REQUIRES}${LIBRARIES}") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/${TARGET}.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")