aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libwebm
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libwebm')
-rw-r--r--vcpkg/ports/libwebm/Fix-cmake.patch25
-rw-r--r--vcpkg/ports/libwebm/fix-export-config.patch25
-rw-r--r--vcpkg/ports/libwebm/portfile.cmake28
-rw-r--r--vcpkg/ports/libwebm/vcpkg.json17
4 files changed, 95 insertions, 0 deletions
diff --git a/vcpkg/ports/libwebm/Fix-cmake.patch b/vcpkg/ports/libwebm/Fix-cmake.patch
new file mode 100644
index 0000000..023e261
--- /dev/null
+++ b/vcpkg/ports/libwebm/Fix-cmake.patch
@@ -0,0 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 19852cd..8d803cf 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,6 +8,8 @@
+ cmake_minimum_required(VERSION 3.16)
+ project(LIBWEBM CXX)
+
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
++
+ include(GNUInstallDirs)
+ include("${CMAKE_CURRENT_SOURCE_DIR}/build/cxx_flags.cmake")
+
+diff --git a/build/msvc_runtime.cmake b/build/msvc_runtime.cmake
+index 7058577..a5a18df 100644
+--- a/build/msvc_runtime.cmake
++++ b/build/msvc_runtime.cmake
+@@ -15,7 +15,6 @@ if(MSVC)
+ CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
+ CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
+ if(${flag_var} MATCHES "/MD")
+- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+ endif(${flag_var} MATCHES "/MD")
+ endforeach(flag_var)
+ endif()
diff --git a/vcpkg/ports/libwebm/fix-export-config.patch b/vcpkg/ports/libwebm/fix-export-config.patch
new file mode 100644
index 0000000..161b6be
--- /dev/null
+++ b/vcpkg/ports/libwebm/fix-export-config.patch
@@ -0,0 +1,25 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ebb3333..8fd53ef 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -459,13 +459,19 @@ endif()
+ # webm_parser headers are rooted at webm/.
+ set_target_properties(webm PROPERTIES PUBLIC_HEADER
+ "${webm_parser_public_headers}")
++set_target_properties(webm PROPERTIES EXPORT_NAME libwebm)
++target_include_directories(webm PUBLIC $<INSTALL_INTERFACE:include>)
+ install(
+- TARGETS webm
++ TARGETS webm EXPORT unofficial-libwebm-targets
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webm)
+
++install(EXPORT unofficial-libwebm-targets
++ FILE unofficial-libwebm-config.cmake
++ NAMESPACE unofficial::libwebm::
++ DESTINATION share/unofficial-libwebm)
+ # Install common headers into a subdirectory to avoid breaking nested includes.
+ install(FILES ${libwebm_common_public_headers}
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/webm/common)
diff --git a/vcpkg/ports/libwebm/portfile.cmake b/vcpkg/ports/libwebm/portfile.cmake
new file mode 100644
index 0000000..14fea38
--- /dev/null
+++ b/vcpkg/ports/libwebm/portfile.cmake
@@ -0,0 +1,28 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO webmproject/libwebm
+ REF libwebm-${VERSION}
+ SHA512 9da60f3e7243fb78e0c02e0b6bf8e628552c5b54631960e34bacdf0349ce690984ff9432b8ffa495051858ecc2f4e4a4c1e0b290666058298abf94c3ad99670f
+ HEAD_REF master
+ PATCHES
+ Fix-cmake.patch
+ fix-export-config.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ ${LIBWEBM_CRT_LINKAGE}
+ -DENABLE_SAMPLE_PROGRAMS=OFF
+ -DENABLE_TESTS=OFF
+ -DENABLE_WEBMTS=OFF
+ -DENABLE_WEBMINFO=OFF
+)
+
+vcpkg_cmake_install()
+
+vcpkg_copy_pdbs()
+vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libwebm)
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE.TXT")
diff --git a/vcpkg/ports/libwebm/vcpkg.json b/vcpkg/ports/libwebm/vcpkg.json
new file mode 100644
index 0000000..324d3c8
--- /dev/null
+++ b/vcpkg/ports/libwebm/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "libwebm",
+ "version": "1.0.0.32",
+ "description": "WebM File Parser",
+ "homepage": "https://github.com/webmproject/libwebm",
+ "license": "BSD-3-Clause",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}