From 8c1d6b62638f70ceee40ccb79ac597e3e2887640 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 15 Jan 2026 22:07:20 +0100 Subject: [PATCH 1/2] Relax regex for extracting version from CHANGES After v2023.8 2024-01-03 you have stopped appending the date to version in CHANGES file which means the newer ones are ignored when extracting the version for pkg-config module generation. Signed-off-by: Marcin Serwin --- cmake/write_pkg_config.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/write_pkg_config.cmake b/cmake/write_pkg_config.cmake index d367ce3e4..53ba18839 100644 --- a/cmake/write_pkg_config.cmake +++ b/cmake/write_pkg_config.cmake @@ -16,12 +16,12 @@ file(STRINGS ${CHANGES_FILE} CHANGES_CONTENT) string( REGEX - MATCH "v[0-9]+(.[0-9]+)?(-dev)? [0-9]+-[0-9]+-[0-9]+" + MATCH "v[0-9]+(.[0-9]+)?(-dev)?" FIRST_VERSION_LINE ${CHANGES_CONTENT}) string( REGEX - REPLACE "^v([^ ]+) .+$" "\\1" + REPLACE "^v([^ ]+)$" "\\1" CURRENT_VERSION "${FIRST_VERSION_LINE}") # If this is a development version, replace "-dev" by ".0" as pkg-config nor From ddde70238f2eca67705f1773bd16b5dc3b0a0fb8 Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Thu, 15 Jan 2026 22:07:20 +0100 Subject: [PATCH 2/2] Fix pkg-config generation with absolute install dirs Analogous to https://github.com/KhronosGroup/SPIRV-Tools/pull/6483 Signed-off-by: Marcin Serwin --- cmake/shaderc.pc.in | 4 ++-- cmake/shaderc_combined.pc.in | 4 ++-- cmake/shaderc_static.pc.in | 4 ++-- cmake/write_pkg_config.cmake | 2 ++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cmake/shaderc.pc.in b/cmake/shaderc.pc.in index 6d217bfcd..bb37c29fd 100644 --- a/cmake/shaderc.pc.in +++ b/cmake/shaderc.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: shaderc Description: Tools and libraries for Vulkan shader compilation diff --git a/cmake/shaderc_combined.pc.in b/cmake/shaderc_combined.pc.in index 6d217bfcd..bb37c29fd 100644 --- a/cmake/shaderc_combined.pc.in +++ b/cmake/shaderc_combined.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: shaderc Description: Tools and libraries for Vulkan shader compilation diff --git a/cmake/shaderc_static.pc.in b/cmake/shaderc_static.pc.in index 6d217bfcd..bb37c29fd 100644 --- a/cmake/shaderc_static.pc.in +++ b/cmake/shaderc_static.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: shaderc Description: Tools and libraries for Vulkan shader compilation diff --git a/cmake/write_pkg_config.cmake b/cmake/write_pkg_config.cmake index 53ba18839..18502ee31 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)