aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libmediainfo
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libmediainfo')
-rw-r--r--vcpkg/ports/libmediainfo/dependencies.diff26
-rw-r--r--vcpkg/ports/libmediainfo/portfile.cmake32
-rw-r--r--vcpkg/ports/libmediainfo/vcpkg.json20
3 files changed, 78 insertions, 0 deletions
diff --git a/vcpkg/ports/libmediainfo/dependencies.diff b/vcpkg/ports/libmediainfo/dependencies.diff
new file mode 100644
index 0000000..be62f85
--- /dev/null
+++ b/vcpkg/ports/libmediainfo/dependencies.diff
@@ -0,0 +1,26 @@
+diff --git a/Project/CMake/cmake/modules/FindTinyXML.cmake b/Project/CMake/cmake/modules/FindTinyXML.cmake
+index af97107..4667b65 100644
+--- a/Project/CMake/cmake/modules/FindTinyXML.cmake
++++ b/Project/CMake/cmake/modules/FindTinyXML.cmake
+@@ -23,7 +23,7 @@ endif(PKG_CONFIG_FOUND)
+
+ set(TinyXML_INCLUDE_DIRS ${PC_TINYXML_INCLUDE_DIRS} CACHE PATH "TinyXML include directory" FORCE)
+ set(TinyXML_LIBRARY_DIRS ${PC_TINYXML_LIBRARY_DIRS} CACHE PATH "TinyXML library directory" FORCE)
+-set(TinyXML_LIBRARIES ${PC_TINYXML_LIBRARIES} CACHE STRING "TinyXML libraries" FORCE)
++set(TinyXML_LIBRARIES ${PC_TINYXML_LINK_LIBRARIES} CACHE STRING "TinyXML libraries" FORCE)
+ include(FindPackageHandleStandardArgs)
+
+ find_package_handle_standard_args(TinyXML
+diff --git a/Project/CMake/libmediainfo.pc.in b/Project/CMake/libmediainfo.pc.in
+index 31e53fe..0829d71 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: libcurl tinyxml2 zlib
++Libs: -L${libdir} -lmediainfo
+ Cflags: -I${includedir}
diff --git a/vcpkg/ports/libmediainfo/portfile.cmake b/vcpkg/ports/libmediainfo/portfile.cmake
new file mode 100644
index 0000000..9436ae0
--- /dev/null
+++ b/vcpkg/ports/libmediainfo/portfile.cmake
@@ -0,0 +1,32 @@
+string(REGEX REPLACE "^([0-9]+)[.]([1-9])\$" "\\1.0\\2" MEDIAINFO_VERSION "${VERSION}")
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO MediaArea/MediaInfoLib
+ REF "v${MEDIAINFO_VERSION}"
+ SHA512 897d319a4ab2e4c05711b3e28d19316a76af9d7981527f4f92ec471b9e8a7336cf78857d03af956a4c5b1fc35725750cedb56713d70a3e67019b4dc7248ba534
+ HEAD_REF master
+ PATCHES
+ dependencies.diff
+)
+
+vcpkg_find_acquire_program(PKGCONFIG)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/Project/CMake"
+ OPTIONS
+ -DBUILD_ZENLIB=0
+ -DBUILD_ZLIB=0
+ "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}"
+ -DCMAKE_REQUIRE_FIND_PACKAGE_PkgConfig=1
+ -DCMAKE_REQUIRE_FIND_PACKAGE_TinyXML=1
+)
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(PACKAGE_NAME mediainfolib)
+vcpkg_fixup_pkgconfig()
+if(NOT VCPKG_BUILD_TYPE AND VCPKG_TARGET_IS_WINDOWS)
+ vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/debug/lib/pkgconfig/libmediainfo.pc" " -lmediainfo" " -lmediainfod")
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/libmediainfo/vcpkg.json b/vcpkg/ports/libmediainfo/vcpkg.json
new file mode 100644
index 0000000..bb781a7
--- /dev/null
+++ b/vcpkg/ports/libmediainfo/vcpkg.json
@@ -0,0 +1,20 @@
+{
+ "name": "libmediainfo",
+ "version": "25.9",
+ "description": "Get most relevant technical and tag data from video and audio files",
+ "homepage": "https://github.com/MediaArea/MediaInfoLib",
+ "dependencies": [
+ "curl",
+ "libzen",
+ "tinyxml2",
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ]
+}