Author: brane Date: Wed Jul 2 21:58:48 2025 New Revision: 1926921 URL: http://svn.apache.org/viewvc?rev=1926921&view=rev Log: In the CMake build, make the generated pkgconfig file relocatable.
* CMakeLists.txt (SERF_PC_FILE): New, the name of the pkg-config file. (make_pkgconfig): Make the prefix relative to ${pcfiledir}. Modified: serf/trunk/CMakeLists.txt Modified: serf/trunk/CMakeLists.txt URL: http://svn.apache.org/viewvc/serf/trunk/CMakeLists.txt?rev=1926921&r1=1926920&r2=1926921&view=diff ============================================================================== --- serf/trunk/CMakeLists.txt (original) +++ serf/trunk/CMakeLists.txt Wed Jul 2 21:58:48 2025 @@ -465,9 +465,15 @@ install(FILES ${HEADERS} DESTINATION "${ # Generate the pkg-config module file. if(NOT SERF_WINDOWS) + set(SERF_PC_FILE "serf-${SERF_MAJOR_VERSION}.pc") + # Use a separate variable scope for the substitutions in serf.pc.in. function(make_pkgconfig) - set(PREFIX ${CMAKE_INSTALL_PREFIX}) + # Use a relative prefix to create a relocatable PC file. + file(RELATIVE_PATH relfragment "/${SERF_INSTALL_PKGCONFIG}" "/") + file(TO_CMAKE_PATH "\${pcfiledir}/${relfragment}" relprefix) + + set(PREFIX ${relprefix}) set(INCLUDE_SUBDIR ${SERF_INCLUDE_SUBDIR}) set(LIBDIR \${prefix}/${SERF_INSTALL_LIBRARIES}) set(VERSION ${SERF_VERSION}) @@ -487,11 +493,11 @@ if(NOT SERF_WINDOWS) foreach(DEPLIB ${SERF_INTERFACE_LIBS}) string(APPEND LIBS " ${DEPLIB}") endforeach() - configure_file("build/serf.pc.in" "serf-${SERF_MAJOR_VERSION}.pc" @ONLY) + configure_file("build/serf.pc.in" "${SERF_PC_FILE}" @ONLY) endfunction() make_pkgconfig() - install(FILES "${CMAKE_CURRENT_BINARY_DIR}/serf-${SERF_MAJOR_VERSION}.pc" + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${SERF_PC_FILE}" DESTINATION "${SERF_INSTALL_PKGCONFIG}") endif()