From 6aacfb674cc05e5d8deb1c9aa7c2e7ac32e661fd Mon Sep 17 00:00:00 2001 From: Dan Kegel Date: Wed, 10 Jun 2020 16:35:44 -0700 Subject: [PATCH] cmake: generate same .pc file contents as configure --- CMakeLists.txt | 23 ++++++++++++++++++----- zlib.pc.cmakein | 10 +++++----- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e75f9a1e..eddf4771 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -817,11 +817,18 @@ if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) endif() endif() -set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib${SUFFIX}.pc) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein - ${ZLIB_PC} @ONLY) -configure_file(${CMAKE_CURRENT_BINARY_DIR}/zconf${SUFFIX}.h.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/zconf${SUFFIX}.h @ONLY) +# Refer to prefix symbolically to ease relocation by end user, +# as Makefile-generated .pc file does. +if(INSTALL_INC_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/include") + set(PC_INSTALL_INC_DIR "\${prefix}/include") +else() + set(PC_INSTALL_INC_DIR "${INSTALL_INC_DIR}") +endif() +if(INSTALL_LIB_DIR STREQUAL "${CMAKE_INSTALL_PREFIX}/lib") + set(PC_INSTALL_LIB_DIR "\${exec_prefix}/lib") +else() + set(PC_INSTALL_LIB_DIR "${INSTALL_LIB_DIR}") +endif() #============================================================================ # zlib @@ -968,6 +975,12 @@ if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) endif() endif() +set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib${SUFFIX}.pc) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein + ${ZLIB_PC} @ONLY) +configure_file(${CMAKE_CURRENT_BINARY_DIR}/zconf${SUFFIX}.h.cmakein + ${CMAKE_CURRENT_BINARY_DIR}/zconf${SUFFIX}.h @ONLY) + if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL) install(TARGETS ${ZLIB_INSTALL_LIBRARIES} RUNTIME DESTINATION "${INSTALL_BIN_DIR}" diff --git a/zlib.pc.cmakein b/zlib.pc.cmakein index 0635b6e3..7744dc2a 100644 --- a/zlib.pc.cmakein +++ b/zlib.pc.cmakein @@ -1,12 +1,12 @@ prefix=@CMAKE_INSTALL_PREFIX@ -exec_prefix=@CMAKE_INSTALL_PREFIX@ -libdir=@INSTALL_LIB_DIR@ -sharedlibdir=@INSTALL_LIB_DIR@ -includedir=@INSTALL_INC_DIR@ +exec_prefix=${prefix} +libdir=@PC_INSTALL_LIB_DIR@ +sharedlibdir=${libdir} +includedir=@PC_INSTALL_INC_DIR@ Name: zlib@SUFFIX@ Description: zlib-ng compression library -Version: @zlib_VERSION@ +Version: @ZLIB_FULL_VERSION@ Requires: Libs: -L${libdir} -L${sharedlibdir} -lz@SUFFIX@ -- 2.47.2