Skip to content

Commit

Permalink
Adding OpenSSL support to FFMPEG, fixed Assmimp UWP build (microsoft#…
Browse files Browse the repository at this point in the history
…2018)

* Enable ffmpeg to build using openssl for HTTPS/TLS support

* [ffmpeg] Add contract versions to libpath

* Updated FFMPEG to 3.3.3; Fixed unistd.h issue in ffmpeg build

* merge fix

* merge fix

* fix merge

* removed extra files

* Assimp UWP build fix

* [assimp] Bump version

* [ffmpeg] Implement openssl support through features.

* [opencv] remove ffmpeg depenency

OpenCV has own prebuilt ffmpeg library

* Fix version, package name is not a part of it

* Add support build option to PCL port

Add support build options (pcap, qt) to PCL port.

* Update VTK to 8.0.1

Update VTK to 8.0.1.

* [vcpkg] Enable pkg[*] as alias for all features.

* Using CP_UTF8 macro instead of magic numbers.

* [vcpkg] Add optional Abi field to BinaryParagraph for future use.

* [double-conversion] Fix --head builds

* [vcpkg] --head should only apply to USER_REQUESTED packages.

* [vcpkg] Fix bug where packages with uninstalled features appear to be uninstalled.

* Update Catch to 1.11.0

* Fix proxy usage in Win7 (powershell 2.0)

* [findVSInstances] Data lines are now placed within <sol><eol> tags. Text outside these tags is ignored

This means we can print text in powershell now and it won't break vcpkg.

* [fetchDependency] Now also returns output in the form <sol>data<eol>

* [git] Update to 2.15.0 (was 2.14.3)

* [bootstrap-vcpkg] Added better diagnostics in case of MSBuild failure.

* [poco] build with MySQL support (microsoft#2088)

* [poco] build with MySQL support

Set proper variables to enable MySQL support if libmysql port is installed

* [poco] Move Mysql support to a feature. Enable CMake config files.

* help assimp find vcpkg's copy of zlib so it does not build its own

* [assimp] Bump revision

* [assimp] Fix assimp overwriting CMAKE_PREFIX_PATH.

* [boost] Handle spaces in vcpkg path.

* [vcpkg] Fix use of features in undocumented build command

* Update to v1.2.0. Remove man pages

* [opencv] Remove ffmpeg from dependencies -- it is not currently possible to use an external ffmpeg with opencv.

Add features for cuda and vtk.

* Enable OpenGL support for GUI

Enable OpenGL support for GUI.

* [protobuf] Add feature packages for zlib

ZLib based features like Gzip streams.

* [llvm] Require Python3

* [blaze] Fix remaining stray _INVALID_ROOT_

* Add option to enable Qt GUI support

Add option to enable Qt GUI support.

* Sorting CMake options for maintainability

Sorting CMake options based on grouped of CMake-GUI  for
maintainability.

* VTK: implement features (microsoft#2071)

* [vtk/portfile] add OpenVR option

* [vtk/control] add OpenVR feature

* [vtk/portfile] Add OpenVR feature to portfile

* [vtk/CONTROL] add features

* [vtk/portfile] implement features

* [vtk/CONTROL] fix syntax

* [vtk/CONTROL] fix case

* [vtk/portfile] fix case

* [vtk/CONTROL] fix syntax

* [vtk/CONTROL] fix syntax

* [vtk/portfile] fix module name

* [vtk] Bump version

* [uwebsockets] Remove boost from dependency list to follow upstream's official README

* [libharu] Fix DLLIMPORT macro replacement

* Update CHANGELOG and bump version to v0.0.95

* Fix date in CHANGELOG.md

* [apr] Update to 1.6.3

* Enable C++11 features

Enable C++11 features.

* Enable Microsoft Media Foundation support for Video I/O

Enable Microsoft Media Foundation support for Video I/O.

* [double-conversion] Fix regression introduced in vcpkg_fixup_cmake_targets.

* [vcpkg] Refactor argument parsing to use common code paths.

* [vcpkg] Improve `vcpkg help` -- now has per-command help!

* [vcpkg-help-export-ifw] Add settings description

* [opencv] Disable MSMF in UWP due to an upstream bug

* [vcpkg_download_distfile] Now downloads in a temp dir and rename to the target location

* [vcpkg_find_acquire_program] Use vcpkg_download_distfile()

* Remove vcpkg_acquire_depot_tools

* [downloads] Don't show progress by default

* [vcpkg_acquire_msys] Use vcpkg_download_distfile()

* vcpkg_from_github] Use vcpkg_download_distfile()

* [vcpkg_from_bitbucket] Use vcpkg_download_distfile()

* [ports.cmake] Use vcpkg_download_distfile()

* [antlr] upgrade to antlr4.7

* [antlr4] bump version to 4.7

* Use download-at-temp-and-rename pattern in powershell too

* Print error message when there is a syntax error in triplet file

As it is now vcpkg fails silently (actually, it outputs two empty lines).

* [fdk-aac] init

* [fetchDependendy.ps1] Remove obsolete comment

* [fetchDependency.ps1] Improve error message on hash mismatch

* [vswhere] Update to 2.2.11 (was 2.2.7)

* libaiff

* Append W

* [libaiff] fix uninitialized buffer

* Add the flint2 library (microsoft#1988)

* Add the "flint2" library.

* FIX: update library name

* FIX: only set MSVC version to VC14

* FIX: use static linkage

* DOC: display notification to the user

* [flint/CONTROL] add gettimeofday dependency

* [flint/portfile] move up linkage

* [flint/portfile] attempt to override the CRT linkage

* Add arblib (microsoft#1991)

* Fix rename libraries of FLANN

Fix rename libraries of FLANN.

* Fix line endings

* [cmake] Update to 3.9.5 (was 3.9.4)

* Porting ITK

* Sourcing from GitHub, using a master version with vcpkg patch

* Update CHANGELOG and bump version to v0.0.96

* [fftw] update to 3.3.7

* [dlib] update to 19.7 and use vcpkg_from_github

* fix issue 2111

* Revert "Updated libsigcpp to version 2.99.9"

This reverts commit 079ef97.

* Added glibmm and giomm.

* Added atkmm.

* Added pangomm.

* Added gtkmm

* Use unicode

* [glibmm] Add missing dependency: libsigcpp
  • Loading branch information
Vlad Kolesnikov authored and ras0219-msft committed Nov 4, 2017
1 parent fdf331e commit 30f7421
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 2 deletions.
2 changes: 1 addition & 1 deletion ports/assimp/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Source: assimp
Version: 4.0.1-2
Version: 4.0.1-3
Description: The Open Asset import library
Build-Depends: zlib
2 changes: 2 additions & 0 deletions ports/assimp/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ vcpkg_apply_patches(
)

file(REMOVE ${SOURCE_PATH}/cmake-modules/FindZLIB.cmake)
set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS")

vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
Expand Down
6 changes: 5 additions & 1 deletion ports/ffmpeg/CONTROL
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
Source: ffmpeg
Version: 3.3.3
Version: 3.3.3-1
Description: a library to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created.
FFmpeg is the leading multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. No matter if they were designed by some standards committee, the community or a corporation. It is also highly portable: FFmpeg compiles, runs, and passes our testing infrastructure FATE across Linux, Mac OS X, Microsoft Windows, the BSDs, Solaris, etc. under a wide variety of build environments, machine architectures, and configurations.

Feature: openssl
Build-Depends: openssl
Description: openssl support in ffmpeg
25 changes: 25 additions & 0 deletions ports/ffmpeg/detect-openssl.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
From 18de5c60ae0a987680681d5a0602009b428504fa Mon Sep 17 00:00:00 2001
From: Gilles Khouzam <[email protected]>
Date: Mon, 19 Jun 2017 16:33:38 -0700
Subject: [PATCH] Add better detection for Openssl on Windows.

Look for libeay32 and ssleay32 as another detection mechanism
---
configure | 1 +
1 file changed, 1 insertion(+)

diff --git a/configure b/configure
index a1818dc..1cf2a7c 100755
--- a/configure
+++ b/configure
@@ -5836,6 +5836,7 @@ enabled openssl && { use_pkg_config openssl openssl/ssl.h OPENSSL_init
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto ||
check_lib openssl/ssl.h SSL_library_init -lssl32 -leay32 ||
check_lib openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 ||
+ check_lib openssl/ssl.h SSL_library_init -llibeay32 -lssleay32 ||
die "ERROR: openssl not found"; }
enabled qtkit_indev && { check_header_objcc QTKit/QTKit.h || disable qtkit_indev; }

--
2.10.1.windows.1

14 changes: 14 additions & 0 deletions ports/ffmpeg/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -11,22 +11,34 @@ vcpkg_download_distfile(ARCHIVE
SHA512 1cc63bf73356f4e618c0d3572a216bdf5689f10deff56b4262f6d740b0bee5a4b3eac234f45fca3d4d2da77903a507b4fba725b76d2d2070f31b6dae9e7a2dab
)
vcpkg_extract_source_archive(${ARCHIVE})
vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES ${CMAKE_CURRENT_LIST_DIR}/detect-openssl.patch
)

vcpkg_find_acquire_program(YASM)
get_filename_component(YASM_EXE_PATH ${YASM} DIRECTORY)
set(ENV{PATH} "$ENV{PATH};${YASM_EXE_PATH}")

vcpkg_acquire_msys(MSYS_ROOT)
set(BASH ${MSYS_ROOT}/usr/bin/bash.exe)
set(ENV{INCLUDE} "${CURRENT_INSTALLED_DIR}/include;$ENV{INCLUDE}")
set(ENV{LIB} "${CURRENT_INSTALLED_DIR}/lib;$ENV{LIB}")

set(_csc_PROJECT_PATH ffmpeg)

file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel)

set(OPTIONS "--disable-ffmpeg --disable-ffprobe --disable-doc --enable-debug")
set(OPTIONS "${OPTIONS} --enable-runtime-cpudetect")
if("openssl" IN_LIST FEATURES)
set(OPTIONS "${OPTIONS} --enable-openssl")
else()
set(OPTIONS "${OPTIONS} --disable-openssl")
endif()

if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
set(ENV{LIBPATH} "$ENV{LIBPATH};$ENV{_WKITS10}references\\windows.foundation.foundationcontract\\2.0.0.0\\;$ENV{_WKITS10}references\\windows.foundation.universalapicontract\\3.0.0.0\\")
set(OPTIONS "${OPTIONS} --disable-programs --enable-cross-compile --target-os=win32 --arch=${VCPKG_TARGET_ARCHITECTURE}")
set(OPTIONS "${OPTIONS} --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00")

Expand Down Expand Up @@ -54,6 +66,8 @@ endif()
set(OPTIONS_DEBUG "") # Note: --disable-optimizations can't be used due to http://ffmpeg.org/pipermail/libav-user/2013-March/003945.html
set(OPTIONS_RELEASE "")

set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0")

if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
Expand Down

0 comments on commit 30f7421

Please sign in to comment.