diff --git a/Project/CMake/CMakeLists.txt b/Project/CMake/CMakeLists.txt index 76612e2..089e1d0 100644 --- a/Project/CMake/CMakeLists.txt +++ b/Project/CMake/CMakeLists.txt @@ -97,7 +97,7 @@ endif() set(MediaInfoLib_SOURCES_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../Source) # use bundled tinyxml only if no system -find_package(TinyXML) +find_package(TinyXML NAMES TinyXML2 REQUIRED) # use system curl if is present find_package(CURL) @@ -425,8 +425,7 @@ target_compile_definitions(mediainfo PRIVATE FMT_UNICODE=0) if(NOT CURL_FOUND) target_compile_definitions(mediainfo PRIVATE MEDIAINFO_LIBCURL_DLL_RUNTIME) else() - include_directories(${CURL_INCLUDE_DIRS}) - target_link_libraries(mediainfo ${CURL_LIBRARIES}) + target_link_libraries(mediainfo PRIVATE CURL::libcurl) set(CURL_PC " libcurl") set(CURL_LIB " -lcurl") endif() @@ -447,14 +446,14 @@ target_include_directories(mediainfo PRIVATE if(NOT TinyXML_FOUND) target_include_directories(mediainfo PRIVATE ${MediaInfoLib_SOURCES_PATH}/ThirdParty/tinyxml2/) else() - target_link_libraries(mediainfo "${TinyXML_LIBRARIES}") + target_link_libraries(mediainfo PRIVATE tinyxml2::tinyxml2) endif() if(BUILD_ZENLIB) target_include_directories(mediainfo PRIVATE ${ZLIB_INCLUDE_DIRS}) endif() -target_link_libraries(mediainfo ${ZenLib_LIBRARY} ${ZLIB_LIBRARIES}) +target_link_libraries(mediainfo PUBLIC zen PRIVATE ZLIB::ZLIB) if(MSVC AND BUILD_SHARED_LIBS) install(FILES $ DESTINATION ${BIN_INSTALL_DIR} OPTIONAL) diff --git a/Project/CMake/MediaInfoLibConfig.cmake.in b/Project/CMake/MediaInfoLibConfig.cmake.in index cf05a8b..18b1d05 100644 --- a/Project/CMake/MediaInfoLibConfig.cmake.in +++ b/Project/CMake/MediaInfoLibConfig.cmake.in @@ -1,3 +1,11 @@ +include(CMakeFindDependencyMacro) +find_dependency(tinyxml2 CONFIG) +find_dependency(ZenLib CONFIG) +find_dependency(ZLIB) +if("@VCPKG_LOCK_FIND_PACKAGE_CURL@") + find_dependency(CURL) +endif() + # known at buildtime set(MediaInfoLib_VERSION "@MediaInfoLib_VERSION@") set(MediaInfoLib_VERSION_MAJOR @MediaInfoLib_MAJOR_VERSION@) diff --git a/Project/CMake/libmediainfo.pc.in b/Project/CMake/libmediainfo.pc.in index e712582..06662ef 100644 --- a/Project/CMake/libmediainfo.pc.in +++ b/Project/CMake/libmediainfo.pc.in @@ -8,6 +8,6 @@ Name: libmediainfo Version: @MediaInfoLib_VERSION@ Description: MediaInfoLib Requires: libzen -Requires.private:@CURL_PC@ -Libs: -L${libdir} -lmediainfo -lz +Requires.private: @CURL_PC@ tinyxml2 zlib +Libs: -L${libdir} -lmediainfo Cflags: -I${includedir}