From c207ce6bc6893a00e6ebe1fa30d4401580f7097f Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 10 Sep 2015 16:11:10 +0200 Subject: [PATCH] pkg-config: fix directory references in libgit2.pc Before: libdir=/usr//usr/lib64 includedir=/usr//usr/include After: libdir=/usr/lib64 includedir=/usr/include (note the duplication of /usr in the before case) --- CMakeLists.txt | 17 +++++++++++++++++ libgit2.pc.in | 5 +++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 293153f..0ed63c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,23 @@ SET(BIN_INSTALL_DIR bin CACHE PATH "Where to install binaries to.") SET(LIB_INSTALL_DIR lib CACHE PATH "Where to install libraries to.") SET(INCLUDE_INSTALL_DIR include CACHE PATH "Where to install headers to.") +# Set a couple variables to be substituted inside the .pc file. +# We can't just use LIB_INSTALL_DIR in the .pc file, as passing them as absolue +# or relative paths is both valid and supported by cmake. +set (PKGCONFIG_PREFIX ${CMAKE_INSTALL_PREFIX}) + +if(IS_ABSOLUTE ${LIB_INSTALL_DIR}) + set (PKGCONFIG_LIBDIR ${LIB_INSTALL_DIR}) +else(IS_ABSOLUTE ${LIB_INSTALL_DIR}) + set (PKGCONFIG_LIBDIR "\${prefix}/${LIB_INSTALL_DIR}") +endif (IS_ABSOLUTE ${LIB_INSTALL_DIR}) + +if(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR}) + set (PKGCONFIG_INCLUDEDIR ${INCLUDE_INSTALL_DIR}) +else(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR}) + set (PKGCONFIG_INCLUDEDIR "\${prefix}/${INCLUDE_INSTALL_DIR}") +endif(IS_ABSOLUTE ${INCLUDE_INSTALL_DIR}) + FUNCTION(TARGET_OS_LIBRARIES target) IF(WIN32) TARGET_LINK_LIBRARIES(${target} ws2_32) diff --git a/libgit2.pc.in b/libgit2.pc.in index 3d825a4..880266a 100644 --- a/libgit2.pc.in +++ b/libgit2.pc.in @@ -1,5 +1,6 @@ -libdir=@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@ -includedir=@CMAKE_INSTALL_PREFIX@/@INCLUDE_INSTALL_DIR@ +prefix=@PKGCONFIG_PREFIX@ +libdir=@PKGCONFIG_LIBDIR@ +includedir=@PKGCONFIG_INCLUDEDIR@ Name: libgit2 Description: The git library, take 2 -- 2.5.0