From 2c8680324480bc0c20a026eb7ff9ffae1fe5fb13 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Tue, 6 Jan 2026 13:22:42 +0100 Subject: [PATCH] Fix generated pkg-config modules with absolute installdirs Fixes: https://github.com/KhronosGroup/SPIRV-Tools/issues/3905 Signed-off-by: Marcin Serwin --- cmake/SPIRV-Tools-shared.pc.in | 4 ++-- cmake/SPIRV-Tools.pc.in | 4 ++-- cmake/write_pkg_config.cmake | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/cmake/SPIRV-Tools-shared.pc.in b/cmake/SPIRV-Tools-shared.pc.in index 0dcaa27644..f6a282bd84 100644 --- a/cmake/SPIRV-Tools-shared.pc.in +++ b/cmake/SPIRV-Tools-shared.pc.in @@ -1,7 +1,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@PKG_CONFIG_LIBDIR@ +includedir=@PKG_CONFIG_INCLUDEDIR@ Name: SPIRV-Tools Description: Tools for SPIR-V diff --git a/cmake/SPIRV-Tools.pc.in b/cmake/SPIRV-Tools.pc.in index 2984dc57fe..62902e5854 100644 --- a/cmake/SPIRV-Tools.pc.in +++ b/cmake/SPIRV-Tools.pc.in @@ -1,7 +1,7 @@ prefix=@CMAKE_INSTALL_PREFIX@ exec_prefix=${prefix} -libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@ -includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ +libdir=@PKG_CONFIG_LIBDIR@ +includedir=@PKG_CONFIG_INCLUDEDIR@ Name: SPIRV-Tools Description: Tools for SPIR-V diff --git a/cmake/write_pkg_config.cmake b/cmake/write_pkg_config.cmake index d367ce3e40..ed93227137 100644 --- a/cmake/write_pkg_config.cmake +++ b/cmake/write_pkg_config.cmake @@ -28,4 +28,6 @@ REGEX # CMake support "-dev" in the version. # If it's not a "-dev" version then ensure it ends with ".1" string(REGEX REPLACE "-dev.1" ".0" CURRENT_VERSION "${CURRENT_VERSION}.1") +cmake_path(APPEND PKG_CONFIG_LIBDIR "\${exec_prefix}" "${CMAKE_INSTALL_LIBDIR}") +cmake_path(APPEND PKG_CONFIG_INCLUDEDIR "\${prefix}" "${CMAKE_INSTALL_INCLUDEDIR}") configure_file(${TEMPLATE_FILE} ${OUT_FILE} @ONLY)