Skip to content

Commit

Permalink
Build FFmpeg v6.1.2 on macOS
Browse files Browse the repository at this point in the history
  • Loading branch information
bear101 committed Oct 30, 2024
1 parent 72b146b commit 0fde3d3
Showing 1 changed file with 46 additions and 28 deletions.
74 changes: 46 additions & 28 deletions Library/TeamTalkLib/build/ffmpeg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,26 +14,35 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

ExternalProject_Add(ffmpeg-arm64-src
GIT_REPOSITORY https://github.com/FFmpeg/FFmpeg
GIT_TAG n3.4.13
GIT_TAG n6.1.2
GIT_SHALLOW TRUE
UPDATE_COMMAND ""
PREFIX ${TOOLCHAIN_BUILD_PREFIX}/ffmpeg-arm64
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_FFMPEG}-arm64
PATCH_COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-signature-of-read_probe-AVProbeData-p-in-libavfo.patch
COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-int-vs.-ptrdiff_t-signature-for-weight_h264_pixe.patch
CONFIGURE_COMMAND export PKG_CONFIG_PATH=${OPENSSL_DIR}/lib/pkgconfig &&
<SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-iconv
--disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes
--disable-libxcb-shape --disable-securetransport
--disable-schannel --disable-xlib --disable-jack
CONFIGURE_COMMAND export PKG_CONFIG_PATH=${OPENSSL_DIR}/lib/pkgconfig && <SOURCE_DIR>/configure
--prefix=<INSTALL_DIR>
# External libraries:
--disable-iconv
--disable-libxcb
--disable-libxcb-shape
--disable-libxcb-shm
--disable-libxcb-xfixes
--disable-lzma
--extra-cflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}\ -arch\ arm64
--extra-cxxflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}\ -arch\ arm64
--extra-ldexeflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}\ -arch\ arm64
--disable-videotoolbox --disable-sdl2 --pkg-config-flags=--static
--enable-debug=3 --disable-optimizations --disable-stripping --enable-openssl
--enable-cross-compile --target-os=darwin --arch=arm64 --disable-asm
# Seems --arch=arm64 has no effect and '-arch arm64' has to be applied
--disable-schannel
--disable-sdl2
--disable-securetransport
--disable-xlib
--enable-openssl
# Compile options (yasm does not work for arm64)
--disable-asm
--disable-optimizations
--disable-stripping
--enable-debug=3
--extra-cflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
--extra-cxxflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
--extra-ldexeflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
--pkg-config-flags=--static
--enable-cross-compile --target-os=darwin --arch=arm64
BUILD_COMMAND make ${TOOLCHAIN_BUILD_MAKEJOBS}
INSTALL_COMMAND make ${TOOLCHAIN_BUILD_MAKEJOBS} install
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libavdevice.a
Expand All @@ -49,24 +58,33 @@ if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")

ExternalProject_Add(ffmpeg-intel-src
GIT_REPOSITORY https://github.com/FFmpeg/FFmpeg
GIT_TAG n3.4.13
GIT_TAG n6.1.2
GIT_SHALLOW TRUE
UPDATE_COMMAND ""
PREFIX ${TOOLCHAIN_BUILD_PREFIX}/ffmpeg-intel
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_FFMPEG}-intel
PATCH_COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/0001-Fix-signature-of-read_probe-AVProbeData-p-in-libavfo.patch
COMMAND git apply ${CMAKE_CURRENT_LIST_DIR}/0002-Fix-int-vs.-ptrdiff_t-signature-for-weight_h264_pixe.patch
CONFIGURE_COMMAND export PKG_CONFIG_PATH=${OPENSSL_DIR}/lib/pkgconfig &&
<SOURCE_DIR>/configure --prefix=<INSTALL_DIR> --disable-iconv
--disable-libxcb --disable-libxcb-shm --disable-libxcb-xfixes
--disable-libxcb-shape --disable-securetransport
--disable-schannel --disable-xlib --disable-jack
CONFIGURE_COMMAND export PKG_CONFIG_PATH=${OPENSSL_DIR}/lib/pkgconfig && <SOURCE_DIR>/configure
--prefix=<INSTALL_DIR>
# External libraries:
--disable-iconv
--disable-libxcb
--disable-libxcb-shape
--disable-libxcb-shm
--disable-libxcb-xfixes
--disable-lzma
--extra-cflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}\ -arch\ x86_64
--extra-cxxflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}\ -arch\ x86_64
--extra-ldexeflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}\ -arch\ x86_64
--disable-videotoolbox --disable-sdl2 --pkg-config-flags=--static
--enable-debug=3 --disable-optimizations --disable-stripping --enable-openssl
--disable-schannel
--disable-sdl2
--disable-securetransport
--disable-xlib
--enable-openssl
# Compile options
--disable-optimizations
--disable-stripping
--enable-debug=3
--extra-cflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
--extra-cxxflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
--extra-ldexeflags=-mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET}
--pkg-config-flags=--static
--enable-cross-compile --target-os=darwin --arch=x86_64
BUILD_COMMAND make ${TOOLCHAIN_BUILD_MAKEJOBS}
INSTALL_COMMAND make ${TOOLCHAIN_BUILD_MAKEJOBS} install
Expand Down

0 comments on commit 0fde3d3

Please sign in to comment.