aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcin Serwin <marcin@serwin.dev>2026-02-18 18:20:57 +0100
committerMark Adler <git@madler.net>2026-03-26 16:05:52 -0700
commit91292b1c442ae0f960badf17a9bdfd071b7b0c7b (patch)
tree2b2bfaf44bb25a59d8b5f6189235da05798cc0a9
parented659f3802d809bc31643b5bd9703fbc57301b58 (diff)
downloadzlib-91292b1c442ae0f960badf17a9bdfd071b7b0c7b.tar.gz
zlib-91292b1c442ae0f960badf17a9bdfd071b7b0c7b.tar.bz2
zlib-91292b1c442ae0f960badf17a9bdfd071b7b0c7b.zip
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.
-rw-r--r--CMakeLists.txt10
-rw-r--r--zlib.pc.cmakein6
2 files changed, 13 insertions, 3 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index eef01a89..22a49e4a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -112,6 +112,16 @@ check_c_source_compiles(
112 112
113unset(CMAKE_COMPILE_FLAGS) 113unset(CMAKE_COMPILE_FLAGS)
114set(ZLIB_PC ${zlib_BINARY_DIR}/zlib.pc) 114set(ZLIB_PC ${zlib_BINARY_DIR}/zlib.pc)
115if(IS_ABSOLUTE "${CMAKE_INSTALL_INCLUDEDIR}")
116 set(pc_includedir "${CMAKE_INSTALL_INCLUDEDIR}")
117else()
118 set(pc_includedir "\${prefix}/${CMAKE_INSTALL_INCLUDEDIR}")
119endif()
120if(IS_ABSOLUTE "${CMAKE_INSTALL_LIBDIR}")
121 set(pc_libdir "${CMAKE_INSTALL_LIBDIR}")
122else()
123 set(pc_libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}")
124endif()
115configure_file(${zlib_SOURCE_DIR}/zlib.pc.cmakein ${ZLIB_PC} @ONLY) 125configure_file(${zlib_SOURCE_DIR}/zlib.pc.cmakein ${ZLIB_PC} @ONLY)
116configure_file(${zlib_BINARY_DIR}/zconf.h.cmakein ${zlib_BINARY_DIR}/zconf.h) 126configure_file(${zlib_BINARY_DIR}/zconf.h.cmakein ${zlib_BINARY_DIR}/zconf.h)
117 127
diff --git a/zlib.pc.cmakein b/zlib.pc.cmakein
index 6f194731..c8edaf65 100644
--- a/zlib.pc.cmakein
+++ b/zlib.pc.cmakein
@@ -1,8 +1,8 @@
1prefix=@CMAKE_INSTALL_PREFIX@ 1prefix=@CMAKE_INSTALL_PREFIX@
2exec_prefix=${prefix} 2exec_prefix=${prefix}
3libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ 3libdir=@pc_libdir@
4sharedlibdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ 4sharedlibdir=${libdir}
5includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ 5includedir=@pc_includedir@
6 6
7Name: zlib 7Name: zlib
8Description: zlib compression library 8Description: zlib compression library