Use Requires.private for zlib with pkg-config (#1380)

Express dependency on zlib using Requires.private in pkg-config .pc
file instead of adding -lz to the libs.

This will cause the following changes when using TagLib with
pkg-config:
- When using a dynamic library, -lz will no longer be present in
  in linker command, but being linked transitively.
- When using a static library, pkg-config must be used with the
  --static command line argument, then libs will still contain
  -lz, which is needed when linking statically.
- The flags needed for zlib will be provided by pkg-config,
  so if -lz is not appropriate (e.g. with MSVC), correct
  linker flags will be provided.
This commit is contained in:
Urs Fleisch
2026-08-01 06:19:41 +02:00
committed by GitHub
parent 18572e90a6
commit e8f1e058d6
2 changed files with 12 additions and 6 deletions
+2 -1
View File
@@ -6,6 +6,7 @@ includedir=@CMAKE_PC_INCLUDEDIR@
Name: TagLib
Description: Audio meta-data library
Requires:
Requires.private: zlib
Version: @TAGLIB_LIB_VERSION_STRING@
Libs: -L${libdir} -ltag@TAGLIB_INSTALL_SUFFIX@ @ZLIB_LIBRARIES_FLAGS@
Libs: -L${libdir} -ltag@TAGLIB_INSTALL_SUFFIX@
Cflags: -I${includedir} -I${includedir}/taglib@TAGLIB_INSTALL_SUFFIX@