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()