aboutsummaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2017-06-21 17:09:58 -0700
committerGitHub <noreply@github.com>2017-06-21 17:09:58 -0700
commitc697b40dc2efbecebcb5e74b97e36e219e1e5658 (patch)
treeec60b9c72db4ab4256e142439228eb7c333596df /ports
parentb188fefecaf03c1f30ee4752c2235975058553e2 (diff)
parent9fe35b0d4d0cf4622f56013f9ba9a8a061912548 (diff)
downloadvcpkg-c697b40dc2efbecebcb5e74b97e36e219e1e5658.tar.gz
vcpkg-c697b40dc2efbecebcb5e74b97e36e219e1e5658.zip
Merge pull request #1310 from khouzam/ffmpeg-uwp
Adding support for FFmpeg in UWP.
Diffstat (limited to 'ports')
-rw-r--r--ports/ffmpeg/CONTROL2
-rw-r--r--ports/ffmpeg/portfile.cmake38
2 files changed, 36 insertions, 4 deletions
diff --git a/ports/ffmpeg/CONTROL b/ports/ffmpeg/CONTROL
index eea91d568..443003d92 100644
--- a/ports/ffmpeg/CONTROL
+++ b/ports/ffmpeg/CONTROL
@@ -1,4 +1,4 @@
Source: ffmpeg
-Version: 3.2.4-2
+Version: 3.2.4-3
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. \ No newline at end of file
diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake
index 7b45fc898..de17e2851 100644
--- a/ports/ffmpeg/portfile.cmake
+++ b/ports/ffmpeg/portfile.cmake
@@ -25,16 +25,48 @@ file(REMOVE_RECURSE ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg ${CURRENT_BU
set(OPTIONS "--disable-ffmpeg --disable-ffprobe --disable-doc --enable-debug")
set(OPTIONS "${OPTIONS} --enable-runtime-cpudetect")
+
+if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ 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")
+
+ if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ vcpkg_find_acquire_program(GASPREPROCESSOR)
+ foreach(GAS_PATH ${GASPREPROCESSOR})
+ get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY)
+ set(ENV{PATH} "$ENV{PATH};${GAS_ITEM_PATH}")
+ endforeach(GAS_PATH)
+
+ ## Get Perl and GCC for MSYS2
+ vcpkg_execute_required_process(
+ COMMAND ${BASH} --noprofile --norc -c 'PATH=/usr/bin:\$PATH;pacman -Sy --noconfirm --needed perl gcc'
+ WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}
+ LOGNAME msys-${TARGET_TRIPLET}
+ )
+
+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ else()
+ message(FATAL_ERROR "Unsupported architecture")
+ endif()
+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 "")
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
+ if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ set(OPTIONS "${OPTIONS} --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib")
+ endif()
endif()
if(VCPKG_CRT_LINKAGE STREQUAL "dynamic")
- set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd --extra-ldflags=-NODEFAULTLIB:libcmt")
+ set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MDd --extra-cxxflags=-MDd")
+ set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MD --extra-cxxflags=-MD")
else()
- set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MTd --extra-cxxflags=-MTd --extra-ldflags=-NODEFAULTLIB:libcmt")
+ set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-cflags=-MTd --extra-cxxflags=-MTd")
+ set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-cflags=-MT --extra-cxxflags=-MT")
endif()
message(STATUS "Building ${_csc_PROJECT_PATH} for Release")
@@ -44,7 +76,7 @@ vcpkg_execute_required_process(
"${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel" # BUILD DIR
"${SOURCE_PATH}" # SOURCE DIR
"${CURRENT_PACKAGES_DIR}" # PACKAGE DIR
- "${OPTIONS}"
+ "${OPTIONS} ${OPTIONS_RELEASE}"
WORKING_DIRECTORY ${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel
LOGNAME build-${TARGET_TRIPLET}-rel
)