mirror of
https://gitlab.com/libtiff/libtiff.git
synced 2026-01-18 13:41:17 +01:00
Fix version in libtiff-4.pc.in, and CMake build: Add requirements to pc file
This commit is contained in:
@@ -124,8 +124,6 @@ include(WindowsSupport)
|
||||
# Orthogonal features
|
||||
include(LibraryFeatures)
|
||||
|
||||
# pkg-config support
|
||||
include(PkgConfig)
|
||||
|
||||
# math.h/libm portability
|
||||
find_package(CMath REQUIRED)
|
||||
@@ -144,6 +142,8 @@ add_subdirectory(build)
|
||||
add_subdirectory(man)
|
||||
add_subdirectory(html)
|
||||
|
||||
# pkg-config support
|
||||
include(PkgConfig)
|
||||
|
||||
message(STATUS "")
|
||||
message(STATUS "Libtiff is now configured for ${CMAKE_SYSTEM}")
|
||||
|
||||
@@ -23,11 +23,34 @@
|
||||
# LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
||||
# OF THIS SOFTWARE.
|
||||
|
||||
# Post-process lib files into linker flags
|
||||
function(set_libs_private out_var)
|
||||
set(tiff_libs_private "")
|
||||
foreach(lib IN LISTS ARGN)
|
||||
get_filename_component(name "${lib}" NAME)
|
||||
foreach(prefix IN LISTS CMAKE_FIND_LIBRARY_PREFIXES)
|
||||
if(name MATCHES "^${prefix}")
|
||||
string(REGEX REPLACE "^${prefix}" "" name "${name}")
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
foreach(suffix IN LISTS CMAKE_FIND_LIBRARY_SUFFIXES)
|
||||
if(name MATCHES "${suffix}$")
|
||||
string(REGEX REPLACE "${suffix}$" "" name "${name}")
|
||||
break()
|
||||
endif()
|
||||
endforeach()
|
||||
string(APPEND tiff_libs_private " -l${name}")
|
||||
endforeach()
|
||||
set(${out_var} "${tiff_libs_private}" PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
# Generate pkg-config file
|
||||
set(prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(exec_prefix "${CMAKE_INSTALL_PREFIX}")
|
||||
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
|
||||
set_libs_private(tiff_libs_private ${tiff_libs_private_list})
|
||||
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libtiff-4.pc.in
|
||||
${CMAKE_CURRENT_BINARY_DIR}/libtiff-4.pc)
|
||||
|
||||
|
||||
@@ -160,6 +160,9 @@ AM_SILENT_RULES
|
||||
tiff_libs_private=
|
||||
AC_SUBST(tiff_libs_private)
|
||||
|
||||
tiff_requires_private=
|
||||
AC_SUBST(tiff_requires_private)
|
||||
|
||||
dnl We don't need to add math library to all targets
|
||||
case "${host_os}" in
|
||||
cygwin* | mingw32* | beos* | darwin*)
|
||||
|
||||
@@ -5,7 +5,8 @@ includedir=@includedir@
|
||||
|
||||
Name: libtiff
|
||||
Description: Tag Image File Format (TIFF) library.
|
||||
Version: @VERSION@
|
||||
Version: @LIBTIFF_MAJOR_VERSION@.@LIBTIFF_MINOR_VERSION@.@LIBTIFF_MICRO_VERSION@
|
||||
Libs: -L${libdir} -ltiff
|
||||
Libs.private: @tiff_libs_private@
|
||||
Cflags: -I${includedir}
|
||||
Requires.private: @tiff_requires_private@
|
||||
|
||||
@@ -106,14 +106,20 @@ target_include_directories(tiff
|
||||
${TIFF_INCLUDES}
|
||||
)
|
||||
|
||||
set(tiff_libs_private_list "") # cmake list
|
||||
set(tiff_requires_private "") # cmake string
|
||||
|
||||
if(ZIP_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE ZLIB::ZLIB)
|
||||
string(APPEND tiff_requires_private " zlib")
|
||||
endif()
|
||||
if(ZIP_SUPPORT AND LIBDEFLATE_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE Deflate::Deflate)
|
||||
list(APPEND tiff_libs_private_list "${Deflate_LIBRARY}")
|
||||
endif()
|
||||
if(JPEG_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE JPEG::JPEG)
|
||||
string(APPEND tiff_requires_private " libjpeg")
|
||||
if(JPEG_DUAL_MODE_8_12)
|
||||
target_include_directories(tiff PRIVATE ${JPEG12_INCLUDE_DIR})
|
||||
target_link_libraries(tiff PRIVATE ${JPEG12_LIBRARIES})
|
||||
@@ -121,20 +127,31 @@ if(JPEG_SUPPORT)
|
||||
endif()
|
||||
if(JBIG_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE JBIG::JBIG)
|
||||
list(APPEND tiff_libs_private_list "${JBIG_LIBRARY}")
|
||||
endif()
|
||||
if(LERC_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE LERC::LERC)
|
||||
target_link_libraries(tiff PRIVATE LERC::LERC)
|
||||
list(APPEND tiff_libs_private_list "${LERC_LIBRARY}")
|
||||
endif()
|
||||
if(LZMA_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE LibLZMA::LibLZMA)
|
||||
target_link_libraries(tiff PRIVATE LibLZMA::LibLZMA)
|
||||
string(APPEND tiff_requires_private " liblzma")
|
||||
endif()
|
||||
if(ZSTD_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE ZSTD::ZSTD)
|
||||
string(APPEND tiff_requires_private " libzstd")
|
||||
endif()
|
||||
if(WEBP_SUPPORT)
|
||||
target_link_libraries(tiff PRIVATE WebP::WebP)
|
||||
string(APPEND tiff_requires_private " libwebp")
|
||||
endif()
|
||||
target_link_libraries(tiff PRIVATE CMath::CMath)
|
||||
if(CMath_LIBRARY)
|
||||
list(APPEND tiff_libs_private_list "${CMath_LIBRARY}")
|
||||
endif()
|
||||
|
||||
set(tiff_libs_private_list "${tiff_libs_private_list}" PARENT_SCOPE)
|
||||
set(tiff_requires_private "${tiff_requires_private}" PARENT_SCOPE)
|
||||
|
||||
set_target_properties(tiff PROPERTIES SOVERSION ${SO_COMPATVERSION})
|
||||
if(NOT CYGWIN)
|
||||
|
||||
Reference in New Issue
Block a user