Skip to content

Commit ca6e7a0

Browse files
Christoph J. Thompsonmadler
Christoph J. Thompson
authored andcommitted
Generate and install the pkg-config file with cmake.
1 parent f886792 commit ca6e7a0

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

CMakeLists.txt

+8-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation direc
77
set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries")
88
set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers")
99
set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages")
10+
set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files")
1011

1112
if(NOT DEFINED BUILD_SHARED_LIBS)
1213
option(BUILD_SHARED_LIBS "Build a shared library form of zlib" ON)
@@ -75,8 +76,10 @@ if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR)
7576
endif()
7677
endif()
7778

78-
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
79-
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
79+
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein
80+
${CMAKE_CURRENT_BINARY_DIR}/zlib.pc @ONLY)
81+
configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein
82+
${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY)
8083
include_directories(${CMAKE_CURRENT_BINARY_DIR})
8184

8285

@@ -180,6 +183,9 @@ endif()
180183
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
181184
install(FILES zlib.3 DESTINATION "${INSTALL_MAN_DIR}/man3")
182185
endif()
186+
if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL )
187+
install(FILES zlib.pc DESTINATION "${INSTALL_PKGCONFIG_DIR}")
188+
endif()
183189

184190
#============================================================================
185191
# Example binaries

INDEX

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ zlib.3 Man page for zlib
1717
zlib.3.pdf Man page in PDF format
1818
zlib.map Linux symbol information
1919
zlib.pc.in Template for pkg-config descriptor
20+
zlib.pc.cmakein zlib.pc template for cmake
2021
zlib2ansi perl script to convert source files for C++ compilation
2122

2223
amiga/ makefiles for Amiga SAS C

zlib.pc.cmakein

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
prefix=@CMAKE_INSTALL_PREFIX@
2+
exec_prefix=@CMAKE_INSTALL_PREFIX@
3+
libdir=@INSTALL_LIB_DIR@
4+
sharedlibdir=@INSTALL_LIB_DIR@
5+
includedir=@INSTALL_INC_DIR@
6+
7+
Name: zlib
8+
Description: zlib compression library
9+
Version: @VERSION@
10+
11+
Requires:
12+
Libs: -L${libdir} -L${sharedlibdir} -lz
13+
Cflags: -I${includedir}

0 commit comments

Comments
 (0)