Commit 91292b1 for zlib
commit 91292b1c442ae0f960badf17a9bdfd071b7b0c7b
Author: Marcin Serwin <marcin@serwin.dev>
Date: Wed Feb 18 18:20:57 2026 +0100
CMake: Emit correct variables for absolute install directories.
The CMAKE_INSTALL_*DIR variables can be absolute. In that case they
should not be appended to the prefix.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eef01a8..22a49e4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -112,6 +112,16 @@ check_c_source_compiles(
unset(CMAKE_COMPILE_FLAGS)
set(ZLIB_PC ${zlib_BINARY_DIR}/zlib.pc)
+if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
+ set(pc_includedir "${CMAKE_INSTALL_INCLUDEDIR}")
+else()
+ set(pc_includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
+endif()
+if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}")
+ set(pc_libdir "${CMAKE_INSTALL_LIBDIR}")
+else()
+ set(pc_libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
+endif()
configure_file(${zlib_SOURCE_DIR}/zlib.pc.cmakein ${ZLIB_PC} @ONLY)
configure_file(${zlib_BINARY_DIR}/zconf.h.cmakein ${zlib_BINARY_DIR}/zconf.h)
diff --git a/zlib.pc.cmakein b/zlib.pc.cmakein
index 6f19473..c8edaf6 100644
--- a/zlib.pc.cmakein
+++ b/zlib.pc.cmakein
@@ -1,8 +1,8 @@
prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=${prefix}
-libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-sharedlibdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
-includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+libdir=@pc_libdir@
+sharedlibdir=${libdir}
+includedir=@pc_includedir@
Name: zlib
Description: zlib compression library