diff --git a/coin/platform_configs/cmake_platforms.yaml b/coin/platform_configs/cmake_platforms.yaml index a643620b..da3a304d 100644 --- a/coin/platform_configs/cmake_platforms.yaml +++ b/coin/platform_configs/cmake_platforms.yaml @@ -164,7 +164,7 @@ Configurations: Features: ['Packaging', 'Sccache', 'DebugAndRelease', 'DisableTests', 'UseConfigure', 'WarningsAreErrors'] Environment variables: [ 'TARGET_CONFIGURE_ARGS=-debug-and-release -nomake examples -platform macx-ios-clang', - 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}}' + 'NON_QTBASE_TARGET_CMAKE_ARGS=-DFEATURE_native_grpc=OFF -DQT_PROTOBUF_WELL_KNOWN_TYPES_PROTO_DIR=/usr/local/include -DFFMPEG_DIR={{.Env.FFMPEG_DIR_IOS}} -DQT_DEPLOY_FFMPEG=TRUE', ] - Id: 'windows-10_22h2-mingw13' diff --git a/coin/provisioning/common/unix/install-ffmpeg-ios.sh b/coin/provisioning/common/unix/install-ffmpeg-ios.sh index d8238294..49889c78 100755 --- a/coin/provisioning/common/unix/install-ffmpeg-ios.sh +++ b/coin/provisioning/common/unix/install-ffmpeg-ios.sh @@ -61,6 +61,9 @@ build_ffmpeg_ios() { --extra-cflags="$minos" \ --extra-cxxflags="$minos" \ --enable-cross-compile \ + --enable-shared \ + --disable-static \ + --install-name-dir='@rpath/Frameworks' \ --enable-swscale \ --enable-pthreads \ --disable-audiotoolbox @@ -69,8 +72,37 @@ build_ffmpeg_ios() { popd } +install_ffmpeg() { + for dir in "$@"; do + echo "Processing files in $dir ..." + pushd "$dir" >/dev/null + find . -type l -name '*.*.dylib' | while read -r f; do + dst="${f:1}" + dstdir="$(dirname "$dst")" + sudo mkdir -p "$dstdir" + + if [[ ! -f "$dst" ]]; then + echo "/dev/null 2>&1; then + echo "Lipoing $dir/$f into $dst" + sudo lipo -create -output "$dst" "$dst" "$f" + elif ! diff "$f" "$dst"; then + echo "Error: File $f in $dir doesn't match destination $dst" + exit 1 + fi + done + echo "LS" + popd >/dev/null + done + sudo cp -r $1$prefix/include $prefix + echo "LS done." +} + build_ffmpeg_ios "x86_64" build_ffmpeg_ios "arm64" -sudo "${BASH_SOURCE%/*}/../macos/makeuniversal.sh" "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed" -SetEnvVar "FFMPEG_DIR_IOS" $prefix +install_ffmpeg "$ffmpeg_source_dir/build_ios/x86_64/installed" "$ffmpeg_source_dir/build_ios/arm64/installed" +SetEnvVar "FFMPEG_DIR_IOS" $prefix