aboutsummaryrefslogtreecommitdiff
path: root/ports/ffmpeg
diff options
context:
space:
mode:
authorGilles Khouzam <gillesk@microsoft.com>2017-06-17 11:30:03 -0700
committerGilles Khouzam <gillesk@microsoft.com>2017-06-19 12:49:20 -0700
commit8085cd34f2f5eef533aaeac6232cde4f073a4bf0 (patch)
tree0a1c04c60172b3a4ca295c637197b17834023948 /ports/ffmpeg
parentd25bea6987406156cab83d2f986b851782bf6c2c (diff)
downloadvcpkg-8085cd34f2f5eef533aaeac6232cde4f073a4bf0.tar.gz
vcpkg-8085cd34f2f5eef533aaeac6232cde4f073a4bf0.zip
Adding support for FFmpeg in UWP.
Adding support to download gas-preprocessor as an acquire_program. Update all packages for msys2 Download perl and gcc for ARM assembly in ffmpeg.
Diffstat (limited to 'ports/ffmpeg')
-rw-r--r--ports/ffmpeg/portfile.cmake43
1 files changed, 41 insertions, 2 deletions
diff --git a/ports/ffmpeg/portfile.cmake b/ports/ffmpeg/portfile.cmake
index 7b45fc898..3a5ea2fe4 100644
--- a/ports/ffmpeg/portfile.cmake
+++ b/ports/ffmpeg/portfile.cmake
@@ -25,16 +25,55 @@ 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(UWP TRUE)
+ 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")
+ set(UWP_PLATFORM "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
+ execute_process(
+ COMMAND ${BASH} --noprofile --norc -c "PATH=/usr/bin:\$PATH;pacman -Sy --noconfirm --needed perl gcc"
+ )
+
+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ set(UWP_PLATFORM "x64")
+ elseif (VCPKG_TARGET_ARCHITECTURE STREQUAL "x86")
+ set(UWP_PLATFORM "Win32")
+ 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
if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
set(OPTIONS "${OPTIONS} --disable-static --enable-shared")
+ if (UWP)
+ 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")
+ if (NOT UWP)
+ set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-NODEFAULTLIB:libcmt")
+ endif()
+ set(OPTIONS "${OPTIONS} --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")
+ if (NOT UWP)
+ set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-NODEFAULTLIB:libcmt")
+ endif()
+ set(OPTIONS "${OPTIONS} --extra-cflags=-MT --extra-cxxflags=-MT")
endif()
message(STATUS "Building ${_csc_PROJECT_PATH} for Release")