fix #303: gdlib.pc: use Requires instead of Libs (#537)

master
wilson chen 2020-06-18 14:55:32 +08:00 committed by GitHub
parent 93f42630f4
commit 28ecfe77c8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 34 additions and 3 deletions

View File

@ -51,6 +51,8 @@ SET (CMAKE_ARCHIVE_OUTPUT_DIRECTORY
"Single Directory for all static libraries."
)
SET(PKG_REQUIRES_PRIVATES "")
if (USE_EXT_GD)
message("Using GD at: ${USE_EXT_GD}")
INCLUDE_DIRECTORIES(BEFORE ${GD_INCLUDE_DIR})
@ -155,11 +157,13 @@ else (USE_EXT_GD)
INCLUDE_DIRECTORIES(${FREETYPE_INCLUDE_DIRS})
SET(HAVE_FT2BUILD_H 1)
SET(HAVE_LIBFREETYPE 1)
LIST(APPEND PKG_REQUIRES_PRIVATES freetype2)
ENDIF(FREETYPE_FOUND)
IF(ZLIB_FOUND)
INCLUDE_DIRECTORIES(${ZLIB_INCLUDE_DIR})
SET(HAVE_LIBZ 1)
LIST(APPEND PKG_REQUIRES_PRIVATES zlib)
ENDIF(ZLIB_FOUND)
IF(WEBP_FOUND)
@ -170,6 +174,7 @@ else (USE_EXT_GD)
IF(PNG_FOUND)
INCLUDE_DIRECTORIES(${PNG_INCLUDE_DIR})
SET(HAVE_LIBPNG 1)
LIST(APPEND PKG_REQUIRES_PRIVATES libpng)
ENDIF(PNG_FOUND)
IF(ICONV_FOUND)
@ -186,21 +191,25 @@ else (USE_EXT_GD)
IF(XPM_FOUND)
INCLUDE_DIRECTORIES(${XPM_INCLUDE_DIR})
SET(HAVE_LIBXPM 1)
LIST(APPEND PKG_REQUIRES_PRIVATES xpm)
ENDIF(XPM_FOUND)
IF(JPEG_FOUND)
INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIR})
SET(HAVE_LIBJPEG 1)
LIST(APPEND PKG_REQUIRES_PRIVATES libjpeg)
ENDIF(JPEG_FOUND)
IF(TIFF_FOUND)
INCLUDE_DIRECTORIES(${TIFF_INCLUDE_DIR})
SET(HAVE_LIBTIFF 1)
LIST(APPEND PKG_REQUIRES_PRIVATES libtiff-4)
ENDIF(TIFF_FOUND)
IF(FONTCONFIG_FOUND)
INCLUDE_DIRECTORIES(${FONTCONFIG_INCLUDE_DIR})
SET(HAVE_LIBFONTCONFIG 1)
LIST(APPEND PKG_REQUIRES_PRIVATES fontconfig)
ELSE (FONTCONFIG_FOUND)
SET(FONTCONFIG_LIBRARY "")
SET(FONTCONFIG_INCLUDE_DIR "")
@ -209,8 +218,11 @@ else (USE_EXT_GD)
IF(RAQM_FOUND)
INCLUDE_DIRECTORIES(${RAQM_INCLUDE_DIR})
SET(HAVE_RAQM 1)
LIST(APPEND PKG_REQUIRES_PRIVAES raqm)
ENDIF(RAQM_FOUND)
string(REPLACE ";" ", " PKG_REQUIRES_PRIVATES "${PKG_REQUIRES_PRIVATES}")
SET(HAVE_CONFIG_H 1)
ADD_DEFINITIONS(-DHAVE_CONFIG_H)

View File

@ -6,6 +6,8 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
Name: gd
Description: GD graphics library
Version: @GDLIB_VERSION@
Requires:
Requires.private: @PKG_REQUIRES_PRIVATES@
Cflags: -I${includedir}
Libs.private: @LIBGD_DEP_LIBS@
Libs.private: @LIBS_PRIVATES@
Libs: -L${libdir} -lgd

View File

@ -6,6 +6,8 @@ includedir=@includedir@
Name: gd
Description: GD graphics library
Version: @VERSION@
Requires:
Requires.private: @PKG_REQUIRES_PRIVATES@
Cflags: -I${includedir}
Libs.private: @LIBS@ @LIBICONV@
Libs.private: @LIBS_PRIVATES@ @LIBICONV@
Libs: -L${libdir} -lgd

View File

@ -33,6 +33,9 @@ AC_SUBST(GDLIB_LT_CURRENT)
AC_SUBST(GDLIB_LT_REVISION)
AC_SUBST(GDLIB_LT_AGE)
AC_SUBST(LIBS_PRIVATES)
AC_SUBST(PKG_REQUIRES_PRIVATES)
AM_INIT_AUTOMAKE([1.11 foreign dist-xz -Wall -Werror subdir-objects])
AC_CONFIG_HEADERS([src/config.h:src/config.hin])
@ -130,6 +133,7 @@ m4_define([GD_LIB_CHECK], [dnl
AC_MSG_RESULT([$gd_with_lib])
gd_found_lib=no
gd_require_pkg_name=""
if test "$gd_with_lib" != "no"; then
save_CPPFLAGS=$CPPFLAGS
save_LDFLAGS=$LDFLAGS
@ -161,6 +165,11 @@ m4_define([GD_LIB_CHECK], [dnl
$1][_CFLAGS="$gd_lib_cflags $][$1][_CFLAGS"
AS_VAR_APPEND([LIBS], [" $][$1][_LIBS"])
AS_VAR_APPEND([CPPFLAGS], [" $][$1][_CFLAGS"])
if test -z "$gd_require_pkg_name"; then
AS_VAR_APPEND([LIBS_PRIVATES], [" $][$1][_LIBS"])
else
AS_VAR_APPEND([PKG_REQUIRES_PRIVATES], [" $gd_require_pkg_name"])
fi
elif test "$gd_with_lib" = "yes"; then
AC_MSG_ERROR([$3 requested but not found])
else
@ -180,7 +189,7 @@ dnl $4 - pkg-config module to look for
dnl $5 - fallback test for the feature
m4_define([GD_LIB_PKG_CHECK], [dnl
GD_LIB_CHECK([$1], [$2], [$3], [dnl
PKG_CHECK_MODULES([$1], [$4], [gd_found_lib=yes], [$5])
PKG_CHECK_MODULES([$1], [$4], [gd_found_lib=yes gd_require_pkg_name="$4"], [$5])
])
])

View File

@ -143,6 +143,12 @@ if (BUILD_STATIC_LIBS)
target_link_libraries(${GD_LIB_STATIC} ${LIBGD_DEP_LIBS})
endif()
SET(LIBS_PRIVATES
${ICONV_LIBRARIES}
${LIQ_LIBRARIES}
${WEBP_LIBRARIES}
)
set(GD_PROGRAMS gdcmpgif)
if (PNG_FOUND)