From 19685aedfe59f7924c00fe687bff48f326337b98 Mon Sep 17 00:00:00 2001 From: Mikhail Paulyshka Date: Wed, 15 Mar 2017 01:20:39 +0300 Subject: [PATCH] [libwebm] add version 1.0.0.27 --- ports/libwebm/0001-fix-cmake.patch | 65 ++++++++++++++++++++++++++++++ ports/libwebm/CONTROL | 3 ++ ports/libwebm/portfile.cmake | 36 +++++++++++++++++ 3 files changed, 104 insertions(+) create mode 100644 ports/libwebm/0001-fix-cmake.patch create mode 100644 ports/libwebm/CONTROL create mode 100644 ports/libwebm/portfile.cmake diff --git a/ports/libwebm/0001-fix-cmake.patch b/ports/libwebm/0001-fix-cmake.patch new file mode 100644 index 000000000..6cbbe1cc1 --- /dev/null +++ b/ports/libwebm/0001-fix-cmake.patch @@ -0,0 +1,65 @@ +From 5bd18b68658c2ba66e358341c159b17d9ba18791 Mon Sep 17 00:00:00 2001 +From: Mikhail Paulyshka +Date: Wed, 15 Mar 2017 00:01:24 +0300 +Subject: [PATCH] fix cmake + +- enable shared lib +- add install target +- set _CRT_SECURE_NO_WARNINGS +--- + CMakeLists.txt | 29 +++++++++++++++++++++++++++-- + 1 file changed, 27 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index bf99829..a7bf021 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,14 +5,21 @@ + ## tree. An additional intellectual property rights grant can be found + ## in the file PATENTS. All contributing project authors may + ## be found in the AUTHORS file in the root of the source tree. +-cmake_minimum_required(VERSION 2.8) ++cmake_minimum_required(VERSION 3.4) + project(LIBWEBM) ++ ++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) ++ + include("${CMAKE_CURRENT_SOURCE_DIR}/build/msvc_runtime.cmake") + + set(LIBWEBM_SRC_DIR "${CMAKE_CURRENT_SOURCE_DIR}") + ++if(MSVC) ++ add_definitions(-D_CRT_SECURE_NO_WARNINGS) ++endif() ++ + # Libwebm section. +-add_library(webm STATIC ++add_library(webm + "${LIBWEBM_SRC_DIR}/mkvmuxer.cpp" + "${LIBWEBM_SRC_DIR}/mkvmuxer.hpp" + "${LIBWEBM_SRC_DIR}/mkvmuxertypes.hpp" +@@ -62,3 +69,21 @@ add_executable(webm2pes + "${LIBWEBM_SRC_DIR}/webm2pes.cc" + "${LIBWEBM_SRC_DIR}/webm2pes.h") + target_link_libraries(webm2pes LINK_PUBLIC webm) ++ ++install( ++ TARGETS webm ++ RUNTIME DESTINATION bin ++ ARCHIVE DESTINATION lib ++ LIBRARY DESTINATION lib) ++ ++install( ++ FILES ++ "mkvmuxer.hpp" ++ "mkvmuxertypes.hpp" ++ "mkvmuxerutil.hpp" ++ "mkvparser.hpp" ++ "mkvreader.hpp" ++ "mkvwriter.hpp" ++ "webmids.hpp" ++ DESTINATION ++ "include/libwebm") +-- +2.11.0.windows.1 + diff --git a/ports/libwebm/CONTROL b/ports/libwebm/CONTROL new file mode 100644 index 000000000..ca76af460 --- /dev/null +++ b/ports/libwebm/CONTROL @@ -0,0 +1,3 @@ +Source: libwebm +Version: 1.0.0.27-1 +Description: WebM File Parser diff --git a/ports/libwebm/portfile.cmake b/ports/libwebm/portfile.cmake new file mode 100644 index 000000000..6ccd7e3c5 --- /dev/null +++ b/ports/libwebm/portfile.cmake @@ -0,0 +1,36 @@ +include(vcpkg_common_functions) + +set(LIBWEBM_VERSION 1.0.0.27) +set(LIBWEBM_HASH 15650b8b121b226654a5abed45a3586ddaf785dee8dac7c72df3f3f9aef76af4e561b75a2ef05328af8dfcfde21948b2edb59cd884dad08b8919cab4ee5a8596) + +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libwebm-libwebm-${LIBWEBM_VERSION}) +vcpkg_download_distfile(ARCHIVE + URLS "https://github.com/webmproject/libwebm/archive/libwebm-${LIBWEBM_VERSION}.tar.gz" + FILENAME "libwebm-${LIBWEBM_VERSION}.tar.gz" + SHA512 ${LIBWEBM_HASH} +) +vcpkg_extract_source_archive(${ARCHIVE}) + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES "${CMAKE_CURRENT_LIST_DIR}/0001-fix-cmake.patch") + +if(VCPKG_CRT_LINKAGE STREQUAL dynamic) + set(LIBWEBM_CRT_LINKAGE -DMSVC_RUNTIME=dll) +else() + set(LIBWEBM_CRT_LINKAGE -DMSVC_RUNTIME=static) +endif() + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS ${LIBWEBM_CRT_LINKAGE}) + +vcpkg_build_cmake() +vcpkg_install_cmake() +vcpkg_copy_pdbs() + +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) + +file(COPY ${SOURCE_PATH}/LICENSE.TXT DESTINATION ${CURRENT_PACKAGES_DIR}/share/libwebm) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/libwebm/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/libwebm/copyright)