Add static linkages to pkg-config file
This commit is contained in:
parent
50042e2ee2
commit
63f9926378
@ -7,5 +7,7 @@ Name: exiv2
|
||||
Description: @PROJECT_DESCRIPTION@
|
||||
Version: @PROJECT_VERSION@
|
||||
URL: @PACKAGE_URL@
|
||||
Requires.private: @requires_private_for_pc_file@
|
||||
Libs: -L${libdir} -lexiv2
|
||||
Libs.private: @libs_private_for_pc_file@
|
||||
Cflags: -I${includedir}
|
||||
|
||||
@ -189,10 +189,12 @@ target_include_directories(exiv2lib SYSTEM PRIVATE
|
||||
if (EXIV2_ENABLE_XMP OR EXIV2_ENABLE_EXTERNAL_XMP)
|
||||
target_include_directories(exiv2lib PRIVATE ${EXPAT_INCLUDE_DIR})
|
||||
target_link_libraries(exiv2lib PRIVATE EXPAT::EXPAT)
|
||||
list(APPEND requires_private_list "expat")
|
||||
endif()
|
||||
|
||||
if (EXIV2_ENABLE_XMP)
|
||||
target_link_libraries(exiv2lib PRIVATE exiv2-xmp)
|
||||
list(APPEND libs_private_list "exiv2-xmp")
|
||||
elseif(EXIV2_ENABLE_EXTERNAL_XMP)
|
||||
target_link_libraries(exiv2lib PUBLIC ${XMPSDK_LIBRARY})
|
||||
target_include_directories(exiv2lib PUBLIC ${XMPSDK_INCLUDE_DIR})
|
||||
@ -211,12 +213,11 @@ target_include_directories(exiv2lib_int PUBLIC
|
||||
)
|
||||
|
||||
if (EXIV2_ENABLE_WEBREADY)
|
||||
|
||||
if( EXIV2_ENABLE_CURL )
|
||||
target_include_directories(exiv2lib SYSTEM PRIVATE ${CURL_INCLUDE_DIR} )
|
||||
target_link_libraries(exiv2lib PRIVATE ${CURL_LIBRARIES})
|
||||
list(APPEND requires_private_list "libcurl")
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
if (WIN32)
|
||||
@ -239,18 +240,23 @@ else()
|
||||
endif()
|
||||
|
||||
if( EXIV2_ENABLE_PNG )
|
||||
target_link_libraries( exiv2lib PRIVATE ZLIB::ZLIB)
|
||||
target_link_libraries( exiv2lib PRIVATE ZLIB::ZLIB)
|
||||
list(APPEND requires_private_list "zlib")
|
||||
endif()
|
||||
|
||||
if( EXIV2_ENABLE_BMFF AND BROTLI_FOUND )
|
||||
target_link_libraries( exiv2lib PRIVATE ${Brotli_LIBRARIES})
|
||||
target_include_directories(exiv2lib PRIVATE ${Brotli_INCLUDE_DIRS})
|
||||
list(APPEND requires_private_list "libbrotlidec")
|
||||
endif()
|
||||
|
||||
if( EXIV2_ENABLE_NLS )
|
||||
target_link_libraries(exiv2lib PRIVATE ${Intl_LIBRARIES})
|
||||
target_include_directories(exiv2lib PRIVATE ${Intl_INCLUDE_DIRS})
|
||||
target_include_directories(exiv2lib_int PRIVATE ${Intl_INCLUDE_DIRS})
|
||||
if( Intl_LIBRARIES )
|
||||
list(APPEND libs_private_list "intl")
|
||||
endif()
|
||||
# Definition needed for translations
|
||||
join_paths(EXV_LOCALEDIR ".." "${CMAKE_INSTALL_LOCALEDIR}")
|
||||
target_compile_definitions(exiv2lib PUBLIC EXV_LOCALEDIR="${EXV_LOCALEDIR}")
|
||||
@ -258,6 +264,9 @@ endif()
|
||||
|
||||
if( ICONV_FOUND )
|
||||
target_link_libraries( exiv2lib PRIVATE Iconv::Iconv )
|
||||
if(NOT Iconv_IS_BUILT_IN)
|
||||
list(APPEND requires_private_list "iconv")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if( EXIV2_ENABLE_INIH )
|
||||
@ -265,8 +274,21 @@ if( EXIV2_ENABLE_INIH )
|
||||
target_link_libraries( exiv2lib_int PRIVATE inih::inireader )
|
||||
target_link_libraries( exiv2lib PRIVATE inih::libinih )
|
||||
target_link_libraries( exiv2lib PRIVATE inih::inireader )
|
||||
list(APPEND requires_private_list "INIReader")
|
||||
endif()
|
||||
|
||||
# Convert private lists to delimited strings
|
||||
list(SORT libs_private_list)
|
||||
string(REPLACE ";" " -l" libs_private_string "${libs_private_list}")
|
||||
if(libs_private_string)
|
||||
string(PREPEND libs_private_string "-l")
|
||||
endif()
|
||||
list(SORT requires_private_list)
|
||||
string(REPLACE ";" ", " requires_private_string "${requires_private_list}")
|
||||
|
||||
set(libs_private_for_pc_file "${libs_private_string}" PARENT_SCOPE)
|
||||
set(requires_private_for_pc_file "${requires_private_string}" PARENT_SCOPE)
|
||||
|
||||
write_basic_package_version_file(exiv2ConfigVersion.cmake COMPATIBILITY ExactVersion)
|
||||
|
||||
install(TARGETS exiv2lib EXPORT exiv2Config
|
||||
|
||||
Loading…
Reference in New Issue
Block a user