diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml index 1f689db70f..75c569f072 100644 --- a/.github/workflows/ios.yml +++ b/.github/workflows/ios.yml @@ -41,6 +41,11 @@ jobs: ruby-version: '3.2' # Not needed with a .ruby-version file bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: 🐍 Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + - name: 🔏 Setup code signing env: MATCH_PASSWORD: ${{ secrets.MATCH_PASSWORD }} diff --git a/CMakeLists.txt b/CMakeLists.txt index f0b949b523..0300315058 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ # CMake settings cmake_minimum_required(VERSION 3.19) -set(VCPKG_TAG f1c6efee2245009540dde947e0e3d008f3aa7dbb) +set(VCPKG_TAG 91b17dd72add5718332e9a2bf55497e2b126b0a0) set(QML_IMPORT_PATH ${CMAKE_SOURCE_DIR}/src/qml/imports CACHE PATH "QML import path for Qt Creator to detect custom modules properly") diff --git a/vcpkg/overlay/ffmpeg/0001-create-lib-libraries.patch b/vcpkg/overlay/ffmpeg/0001-create-lib-libraries.patch deleted file mode 100644 index ced7ba86be..0000000000 --- a/vcpkg/overlay/ffmpeg/0001-create-lib-libraries.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/configure b/configure -index 1f0b9497cb..3243e23021 100644 ---- a/configure -+++ b/configure -@@ -5697,17 +5697,19 @@ case $target_os in - ;; - win32|win64) - disable symver -- if enabled shared; then -+# if enabled shared; then - # Link to the import library instead of the normal static library - # for shared libs. - LD_LIB='%.lib' - # Cannot build both shared and static libs with MSVC or icl. -- disable static -- fi -+# disable static -+# fi - ! enabled small && test_cmd $windres --version && enable gnu_windres - enabled x86_32 && check_ldflags -LARGEADDRESSAWARE - add_cppflags -DWIN32_LEAN_AND_MEAN - shlibdir_default="$bindir_default" -+ LIBPREF="" -+ LIBSUF=".lib" - SLIBPREF="" - SLIBSUF=".dll" - SLIBNAME_WITH_VERSION='$(SLIBPREF)$(FULLNAME)-$(LIBVERSION)$(SLIBSUF)' diff --git a/vcpkg/overlay/ffmpeg/0002-fix-msvc-link.patch b/vcpkg/overlay/ffmpeg/0002-fix-msvc-link.patch deleted file mode 100644 index c9aa7e7523..0000000000 --- a/vcpkg/overlay/ffmpeg/0002-fix-msvc-link.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff --git a/configure b/configure ---- a/configure -+++ b/configure -@@ -6162,6 +6162,7 @@ EOF - test -n "$extern_prefix" && append X86ASMFLAGS "-DPREFIX" - case "$objformat" in - elf*) enabled debug && append X86ASMFLAGS $x86asm_debug ;; -+ win*) enabled debug && append X86ASMFLAGS "-g" ;; - esac - - enabled avx512 && check_x86asm avx512_external "vmovdqa32 [eax]{k1}{z}, zmm0" diff --git a/vcpkg/overlay/ffmpeg/0003-fix-windowsinclude.patch b/vcpkg/overlay/ffmpeg/0003-fix-windowsinclude.patch deleted file mode 100644 index 8b2e22b476..0000000000 --- a/vcpkg/overlay/ffmpeg/0003-fix-windowsinclude.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/fftools/cmdutils.c b/fftools/cmdutils.c ---- a/fftools/cmdutils.c -+++ b/fftools/cmdutils.c -@@ -51,6 +51,8 @@ - #include "fopen_utf8.h" - #include "opt_common.h" - #ifdef _WIN32 -+#define _WIN32_WINNT 0x0502 -+#define WIN32_LEAN_AND_MEAN - #include - #include "compat/w32dlfcn.h" - #endif - diff --git a/vcpkg/overlay/ffmpeg/0004-fix-debug-build.patch b/vcpkg/overlay/ffmpeg/0004-fix-debug-build.patch deleted file mode 100644 index 1c7056c4cc..0000000000 --- a/vcpkg/overlay/ffmpeg/0004-fix-debug-build.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/configure b/configure -index 3243e23021..6d3f31fc95 100644 ---- a/configure -+++ b/configure -@@ -4284,6 +4284,9 @@ for opt do - --libfuzzer=*) - libfuzzer_path="$optval" - ;; -+ --debug) -+ enable debug_configure -+ ;; - *) - optname="${opt%%=*}" - optname="${optname#--}" -@@ -6630,7 +6633,11 @@ fi - - enabled zlib && { check_pkg_config zlib zlib "zlib.h" zlibVersion || - check_lib zlib zlib.h zlibVersion -lz; } --enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 -+if enabled debug_configure; then -+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2d -+else -+ enabled bzlib && check_lib bzlib bzlib.h BZ2_bzlibVersion -lbz2 -+fi - enabled lzma && check_lib lzma lzma.h lzma_version_number -llzma - - enabled zlib && test_exec $zlib_extralibs <= 2019. - enabled libshine && require_pkg_config libshine shine shine/layer3.h shine_encode_buffer - enabled libsmbclient && { check_pkg_config libsmbclient smbclient libsmbclient.h smbc_init || - require libsmbclient libsmbclient.h smbc_init -lsmbclient; } --enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ -+if enabled debug_configure; then -+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ -+else -+ enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ -+fi - enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr - enabled libssh && require_pkg_config libssh "libssh >= 0.6.0" libssh/sftp.h sftp_init - enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init diff --git a/vcpkg/overlay/ffmpeg/0005-fix-nasm.patch b/vcpkg/overlay/ffmpeg/0005-fix-nasm.patch deleted file mode 100644 index 9308e714a6..0000000000 --- a/vcpkg/overlay/ffmpeg/0005-fix-nasm.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff --git a/libavcodec/x86/Makefile b/libavcodec/x86/Makefile ---- a/libavcodec/x86/Makefile -+++ b/libavcodec/x86/Makefile -@@ -158,6 +158,8 @@ X86ASM-OBJS-$(CONFIG_ALAC_DECODER) += x86/alacdsp.o - X86ASM-OBJS-$(CONFIG_APNG_DECODER) += x86/pngdsp.o - X86ASM-OBJS-$(CONFIG_CAVS_DECODER) += x86/cavsidct.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_CFHD_ENCODER) += x86/cfhdencdsp.o -+endif - X86ASM-OBJS-$(CONFIG_CFHD_DECODER) += x86/cfhddsp.o - X86ASM-OBJS-$(CONFIG_DCA_DECODER) += x86/dcadsp.o x86/synth_filter.o - X86ASM-OBJS-$(CONFIG_DIRAC_DECODER) += x86/diracdsp.o \ -@@ -175,15 +177,21 @@ x86/hevc_sao_10bit.o - X86ASM-OBJS-$(CONFIG_JPEG2000_DECODER) += x86/jpeg2000dsp.o - X86ASM-OBJS-$(CONFIG_LSCR_DECODER) += x86/pngdsp.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_MLP_DECODER) += x86/mlpdsp.o -+endif - X86ASM-OBJS-$(CONFIG_MPEG4_DECODER) += x86/xvididct.o - X86ASM-OBJS-$(CONFIG_PNG_DECODER) += x86/pngdsp.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_PRORES_DECODER) += x86/proresdsp.o - X86ASM-OBJS-$(CONFIG_PRORES_LGPL_DECODER) += x86/proresdsp.o -+endif - X86ASM-OBJS-$(CONFIG_RV40_DECODER) += x86/rv40dsp.o - X86ASM-OBJS-$(CONFIG_SBC_ENCODER) += x86/sbcdsp.o - X86ASM-OBJS-$(CONFIG_SVQ1_ENCODER) += x86/svq1enc.o - X86ASM-OBJS-$(CONFIG_TAK_DECODER) += x86/takdsp.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_TRUEHD_DECODER) += x86/mlpdsp.o -+endif - X86ASM-OBJS-$(CONFIG_TTA_DECODER) += x86/ttadsp.o - X86ASM-OBJS-$(CONFIG_TTA_ENCODER) += x86/ttaencdsp.o - X86ASM-OBJS-$(CONFIG_UTVIDEO_DECODER) += x86/utvideodsp.o -diff --git a/libavfilter/x86/Makefile b/libavfilter/x86/Makefile ---- a/libavfilter/x86/Makefile -+++ b/libavfilter/x86/Makefile -@@ -44,6 +44,8 @@ - X86ASM-OBJS-$(CONFIG_AFIR_FILTER) += x86/af_afir.o - X86ASM-OBJS-$(CONFIG_ANLMDN_FILTER) += x86/af_anlmdn.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_ATADENOISE_FILTER) += x86/vf_atadenoise.o -+endif - X86ASM-OBJS-$(CONFIG_BLEND_FILTER) += x86/vf_blend.o - X86ASM-OBJS-$(CONFIG_BWDIF_FILTER) += x86/vf_bwdif.o - X86ASM-OBJS-$(CONFIG_COLORSPACE_FILTER) += x86/colorspacedsp.o -@@ -62,6 +62,8 @@ X86ASM-OBJS-$(CONFIG_LUT3D_FILTER) += x86/vf_lut3d.o - X86ASM-OBJS-$(CONFIG_MASKEDCLAMP_FILTER) += x86/vf_maskedclamp.o - X86ASM-OBJS-$(CONFIG_MASKEDMERGE_FILTER) += x86/vf_maskedmerge.o -+ifdef ARCH_X86_64 - X86ASM-OBJS-$(CONFIG_NLMEANS_FILTER) += x86/vf_nlmeans.o -+endif - X86ASM-OBJS-$(CONFIG_OVERLAY_FILTER) += x86/vf_overlay.o - X86ASM-OBJS-$(CONFIG_PP7_FILTER) += x86/vf_pp7.o - X86ASM-OBJS-$(CONFIG_PSNR_FILTER) += x86/vf_psnr.o diff --git a/vcpkg/overlay/ffmpeg/0006-fix-StaticFeatures.patch b/vcpkg/overlay/ffmpeg/0006-fix-StaticFeatures.patch deleted file mode 100644 index 76a649654a..0000000000 --- a/vcpkg/overlay/ffmpeg/0006-fix-StaticFeatures.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/configure b/configure -index 6d3f31fc95..f5f4a769cc 100644 ---- a/configure -+++ b/configure -@@ -6761,7 +6761,8 @@ if enabled libmfx; then - fi - - enabled libmodplug && require_pkg_config libmodplug libmodplug libmodplug/modplug.h ModPlug_Load --enabled libmp3lame && require "libmp3lame >= 3.98.3" lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs -+enabled libmp3lame && { check_lib libmp3lame lame/lame.h lame_set_VBR_quality -lmp3lame $libm_extralibs || -+ require libmp3lame lame/lame.h lame_set_VBR_quality -llibmp3lame-static -llibmpghip-static $libm_extralibs; } - enabled libmysofa && { check_pkg_config libmysofa libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine || - require libmysofa mysofa.h mysofa_neighborhood_init_withstepdefine -lmysofa $zlib_extralibs; } - enabled libnpp && { check_lib libnpp npp.h nppGetLibVersion -lnppig -lnppicc -lnppc -lnppidei -lnppif || -@@ -6805,7 +6806,7 @@ if enabled debug_configure; then - else - enabled libsnappy && require libsnappy snappy-c.h snappy_compress -lsnappy -lstdc++ - fi --enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr -+enabled libsoxr && require libsoxr soxr.h soxr_create -lsoxr -lm - enabled libssh && require_pkg_config libssh "libssh >= 0.6.0" libssh/sftp.h sftp_init - enabled libspeex && require_pkg_config libspeex speex speex/speex.h speex_decoder_init - enabled libsrt && require_pkg_config libsrt "srt >= 1.3.0" srt/srt.h srt_socket -@@ -6888,6 +6889,8 @@ enabled openal && { check_pkg_config openal "openal >= 1.1" "AL/al.h" - enabled opencl && { check_pkg_config opencl OpenCL CL/cl.h clEnqueueNDRangeKernel || - check_lib opencl OpenCL/cl.h clEnqueueNDRangeKernel -Wl,-framework,OpenCL || - check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL || -+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -lAdvapi32 -lOle32 -lCfgmgr32|| -+ check_lib opencl CL/cl.h clEnqueueNDRangeKernel -lOpenCL -pthread -ldl || - die "ERROR: opencl not found"; } && - { test_cpp_condition "OpenCL/cl.h" "defined(CL_VERSION_1_2)" || - test_cpp_condition "CL/cl.h" "defined(CL_VERSION_1_2)" || -@@ -6914,6 +6917,7 @@ enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0" ope - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto -lws2_32 -lgdi32 || -+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -llibssl -llibcrypto -lws2_32 -lgdi32 -lcrypt32 -lAdvapi32 -lUser32|| - die "ERROR: openssl not found"; } - enabled pocketsphinx && require_pkg_config pocketsphinx pocketsphinx pocketsphinx/pocketsphinx.h ps_init - enabled rkmpp && { require_pkg_config rkmpp rockchip_mpp rockchip/rk_mpi.h mpp_create && -@@ -7215,7 +7219,7 @@ enabled amf && - if enabled libc_iconv; then - check_func_headers iconv.h iconv - elif enabled iconv; then -- check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv -+ check_func_headers iconv.h iconv || check_lib iconv iconv.h iconv -liconv || check_lib iconv iconv.h iconv -liconv -llibcharset - fi - - enabled debug && add_cflags -g"$debuglevel" && add_asflags -g"$debuglevel" diff --git a/vcpkg/overlay/ffmpeg/0007-fix-lib-naming.patch b/vcpkg/overlay/ffmpeg/0007-fix-lib-naming.patch deleted file mode 100644 index ef9d74614e..0000000000 --- a/vcpkg/overlay/ffmpeg/0007-fix-lib-naming.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/configure b/configure -index d6c4388..75b96c3 100644 ---- a/configure -+++ b/configure -@@ -4378,6 +4378,11 @@ msvc_common_flags(){ - -march=*) ;; - -lz) echo zlib.lib ;; - -lx264) echo libx264.lib ;; -+ -lx265) echo libx265.lib ;; -+ -lmp3lame) echo libmp3lame.lib ;; -+ -liconv) echo iconv.lib ;; -+ -llibcharset) echo charset.lib ;; -+ -lm) ;; - -lstdc++) ;; - -l*) echo ${flag#-l}.lib ;; - -LARGEADDRESSAWARE) echo $flag ;; diff --git a/vcpkg/overlay/ffmpeg/0009-Fix-fdk-detection.patch b/vcpkg/overlay/ffmpeg/0009-Fix-fdk-detection.patch deleted file mode 100644 index 3d280fd2b3..0000000000 --- a/vcpkg/overlay/ffmpeg/0009-Fix-fdk-detection.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index b137669dd3..34c92230f4 100755 ---- a/configure -+++ b/configure -@@ -6331,7 +6331,7 @@ enabled libdavs2 && require_pkg_config libdavs2 "davs2 >= 1.6.0" davs2. - enabled libdc1394 && require_pkg_config libdc1394 libdc1394-2 dc1394/dc1394.h dc1394_new - enabled libdrm && require_pkg_config libdrm libdrm xf86drm.h drmGetVersion - enabled libfdk_aac && { check_pkg_config libfdk_aac fdk-aac "fdk-aac/aacenc_lib.h" aacEncOpen || -- { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac && -+ { require libfdk_aac fdk-aac/aacenc_lib.h aacEncOpen -lfdk-aac -lm -lstdc++ && - warn "using libfdk without pkg-config"; } } - flite_extralibs="-lflite_cmu_time_awb -lflite_cmu_us_awb -lflite_cmu_us_kal -lflite_cmu_us_kal16 -lflite_cmu_us_rms -lflite_cmu_us_slt -lflite_usenglish -lflite_cmulex -lflite" - enabled libflite && require libflite "flite/flite.h" flite_init $flite_extralibs - diff --git a/vcpkg/overlay/ffmpeg/0011-Fix-x265-detection.patch b/vcpkg/overlay/ffmpeg/0011-Fix-x265-detection.patch deleted file mode 100644 index 8c3e10d951..0000000000 --- a/vcpkg/overlay/ffmpeg/0011-Fix-x265-detection.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/configure b/configure ---- a/configure -+++ b/configure -@@ -6730,7 +6730,10 @@ - [ "$toolchain" != "msvc" ] || - require_cpp_condition libx264 x264.h "X264_BUILD >= 158"; } && - check_cpp_condition libx262 x264.h "X264_MPEG2" --enabled libx265 && require_pkg_config libx265 x265 x265.h x265_api_get && -+enabled libx265 && { check_pkg_config libx265 x265 x265.h x265_api_get || -+ { { check_lib libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++ -lgcc_s -lgcc -lrt -lnuma" || -+ require libx265 x265.h x265_api_get "-lx265 $pthreads_extralibs $libm_extralibs -ldl -lstdc++"; } && -+ warn "using libx265 without pkg-config"; } } && - require_cpp_condition libx265 x265.h "X265_BUILD >= 89" - enabled libxavs && require libxavs "stdint.h xavs.h" xavs_encoder_encode "-lxavs $pthreads_extralibs $libm_extralibs" - enabled libxavs2 && require_pkg_config libxavs2 "xavs2 >= 1.3.0" "stdint.h xavs2.h" xavs2_api_get diff --git a/vcpkg/overlay/ffmpeg/0012-Fix-ssl-110-detection.patch b/vcpkg/overlay/ffmpeg/0012-Fix-ssl-110-detection.patch deleted file mode 100644 index b2e5501a13..0000000000 --- a/vcpkg/overlay/ffmpeg/0012-Fix-ssl-110-detection.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index 2be953f7e7..e075949ffc 100755 ---- a/configure -+++ b/configure -@@ -6497,6 +6497,7 @@ enabled openssl && { { check_pkg_config openssl "openssl >= 3.0.0 - { enabled gplv3 || ! enabled gpl || enabled nonfree || die "ERROR: OpenSSL >=3.0.0 requires --enable-version3"; }; } || - { enabled gpl && ! enabled nonfree && die "ERROR: OpenSSL <3.0.0 is incompatible with the gpl"; } || - check_pkg_config openssl openssl openssl/ssl.h OPENSSL_init_ssl || - check_pkg_config openssl openssl openssl/ssl.h SSL_library_init || -+ check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto $pthreads_extralibs -ldl || - check_lib openssl openssl/ssl.h OPENSSL_init_ssl -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl -lcrypto || - check_lib openssl openssl/ssl.h SSL_library_init -lssl32 -leay32 || - diff --git a/vcpkg/overlay/ffmpeg/0013-define-WINVER.patch b/vcpkg/overlay/ffmpeg/0013-define-WINVER.patch deleted file mode 100644 index 295a738e74..0000000000 --- a/vcpkg/overlay/ffmpeg/0013-define-WINVER.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --color -Naur src_old/libavcodec/mf_utils.c src/libavcodec/mf_utils.c ---- src_old/libavcodec/mf_utils.c 2020-07-11 05:26:17.000000000 +0700 -+++ src/libavcodec/mf_utils.c 2020-11-13 12:55:57.226976400 +0700 -@@ -22,6 +22,11 @@ - #define _WIN32_WINNT 0x0602 - #endif - -+#if !defined(WINVER) || WINVER < 0x0602 -+#undef WINVER -+#define WINVER 0x0602 -+#endif -+ - #include "mf_utils.h" - #include "libavutil/pixdesc.h" - diff --git a/vcpkg/overlay/ffmpeg/0015-Fix-xml2-detection.patch b/vcpkg/overlay/ffmpeg/0015-Fix-xml2-detection.patch deleted file mode 100644 index 7d2f148b09..0000000000 --- a/vcpkg/overlay/ffmpeg/0015-Fix-xml2-detection.patch +++ /dev/null @@ -1,17 +0,0 @@ - configure | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure b/configure -index 900505756b..8d1388a347 100755 ---- a/configure -+++ b/configure -@@ -6476,7 +6476,7 @@ enabled libzmq && require_pkg_config libzmq "libzmq >= 4.2.1" zmq.h z - enabled libzvbi && require_pkg_config libzvbi zvbi-0.2 libzvbi.h vbi_decoder_new && - { test_cpp_condition libzvbi.h "VBI_VERSION_MAJOR > 0 || VBI_VERSION_MINOR > 2 || VBI_VERSION_MINOR == 2 && VBI_VERSION_MICRO >= 28" || - enabled gpl || die "ERROR: libzvbi requires version 0.2.28 or --enable-gpl."; } --enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml2/libxml/xmlversion.h xmlCheckVersion -+enabled libxml2 && require_pkg_config libxml2 libxml-2.0 libxml/xmlversion.h xmlCheckVersion - enabled mbedtls && { check_pkg_config mbedtls mbedtls mbedtls/x509_crt.h mbedtls_x509_crt_init || - check_pkg_config mbedtls mbedtls mbedtls/ssl.h mbedtls_ssl_init || - check_lib mbedtls mbedtls/ssl.h mbedtls_ssl_init -lmbedtls -lmbedx509 -lmbedcrypto || - diff --git a/vcpkg/overlay/ffmpeg/0020-fix-aarch64-libswscale.patch b/vcpkg/overlay/ffmpeg/0020-fix-aarch64-libswscale.patch deleted file mode 100644 index f47e82ed8a..0000000000 --- a/vcpkg/overlay/ffmpeg/0020-fix-aarch64-libswscale.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/libswscale/aarch64/yuv2rgb_neon.S b/libswscale/aarch64/yuv2rgb_neon.S -index 89d69e7f6c..4bc1607a7a 100644 ---- a/libswscale/aarch64/yuv2rgb_neon.S -+++ b/libswscale/aarch64/yuv2rgb_neon.S -@@ -169,19 +169,19 @@ function ff_\ifmt\()_to_\ofmt\()_neon, export=1 - sqdmulh v26.8h, v26.8h, v0.8h // ((Y1*(1<<3) - y_offset) * y_coeff) >> 15 - sqdmulh v27.8h, v27.8h, v0.8h // ((Y2*(1<<3) - y_offset) * y_coeff) >> 15 - --.ifc \ofmt,argb // 1 2 3 0 -+.ifc \ofmt,argb - compute_rgba v5.8b,v6.8b,v7.8b,v4.8b, v17.8b,v18.8b,v19.8b,v16.8b - .endif - --.ifc \ofmt,rgba // 0 1 2 3 -+.ifc \ofmt,rgba - compute_rgba v4.8b,v5.8b,v6.8b,v7.8b, v16.8b,v17.8b,v18.8b,v19.8b - .endif - --.ifc \ofmt,abgr // 3 2 1 0 -+.ifc \ofmt,abgr - compute_rgba v7.8b,v6.8b,v5.8b,v4.8b, v19.8b,v18.8b,v17.8b,v16.8b - .endif - --.ifc \ofmt,bgra // 2 1 0 3 -+.ifc \ofmt,bgra - compute_rgba v6.8b,v5.8b,v4.8b,v7.8b, v18.8b,v17.8b,v16.8b,v19.8b - .endif - diff --git a/vcpkg/overlay/ffmpeg/0022-fix-iconv.patch b/vcpkg/overlay/ffmpeg/0022-fix-iconv.patch deleted file mode 100644 index 3fc6cf272b..0000000000 --- a/vcpkg/overlay/ffmpeg/0022-fix-iconv.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/configure b/configure -index 2829d79..697a504 100755 ---- a/configure -+++ b/configure -@@ -4221,9 +4221,6 @@ - if disabled autodetect; then - -- # Unless iconv is explicitely disabled by the user, we still want to probe -- # for the iconv from the libc. -- disabled iconv || enable libc_iconv - - disable_weak $EXTERNAL_AUTODETECT_LIBRARY_LIST - disable_weak $HWACCEL_AUTODETECT_LIBRARY_LIST - fi diff --git a/vcpkg/overlay/ffmpeg/0023-fix-qsv-init.patch b/vcpkg/overlay/ffmpeg/0023-fix-qsv-init.patch deleted file mode 100644 index e6d2863404..0000000000 --- a/vcpkg/overlay/ffmpeg/0023-fix-qsv-init.patch +++ /dev/null @@ -1,22 +0,0 @@ -Subject: [PATCH] fix d3d11 ---- -Index: qsv.c -IDEA additional info: -Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP -<+>UTF-8 -=================================================================== -diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c ---- a/libavcodec/qsv.c -+++ b/libavcodec/qsv.c -@@ -383,7 +383,11 @@ - int ff_qsv_init_internal_session(AVCodecContext *avctx, QSVSession *qs, - const char *load_plugins, int gpu_copy) - { -+#if CONFIG_D3D11VA -+ mfxIMPL impl = MFX_IMPL_AUTO_ANY | MFX_IMPL_VIA_D3D11; -+#else - mfxIMPL impl = MFX_IMPL_AUTO_ANY; -+#endif - mfxVersion ver = { { QSV_VERSION_MINOR, QSV_VERSION_MAJOR } }; - mfxInitParam init_par = { MFX_IMPL_AUTO_ANY }; - diff --git a/vcpkg/overlay/ffmpeg/0024-fix-gcc13-binutils.patch b/vcpkg/overlay/ffmpeg/0024-fix-gcc13-binutils.patch deleted file mode 100644 index 395b4db036..0000000000 --- a/vcpkg/overlay/ffmpeg/0024-fix-gcc13-binutils.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h -index 6298f5e..ca7e2df 100644 ---- a/libavcodec/x86/mathops.h -+++ b/libavcodec/x86/mathops.h -@@ -35,12 +35,20 @@ - static av_always_inline av_const int MULL(int a, int b, unsigned shift) - { - int rt, dummy; -+ if (__builtin_constant_p(shift)) - __asm__ ( - "imull %3 \n\t" - "shrdl %4, %%edx, %%eax \n\t" - :"=a"(rt), "=d"(dummy) -- :"a"(a), "rm"(b), "ci"((uint8_t)shift) -+ :"a"(a), "rm"(b), "i"(shift & 0x1F) - ); -+ else -+ __asm__ ( -+ "imull %3 \n\t" -+ "shrdl %4, %%edx, %%eax \n\t" -+ :"=a"(rt), "=d"(dummy) -+ :"a"(a), "rm"(b), "c"((uint8_t)shift) -+ ); - return rt; - } - -@@ -113,19 +121,31 @@ __asm__ volatile(\ - // avoid +32 for shift optimization (gcc should do that ...) - #define NEG_SSR32 NEG_SSR32 - static inline int32_t NEG_SSR32( int32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("sarl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("sarl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - - #define NEG_USR32 NEG_USR32 - static inline uint32_t NEG_USR32(uint32_t a, int8_t s){ -+ if (__builtin_constant_p(s)) - __asm__ ("shrl %1, %0\n\t" - : "+r" (a) -- : "ic" ((uint8_t)(-s)) -+ : "i" (-s & 0x1F) - ); -+ else -+ __asm__ ("shrl %1, %0\n\t" -+ : "+r" (a) -+ : "c" ((uint8_t)(-s)) -+ ); - return a; - } - diff --git a/vcpkg/overlay/ffmpeg/FindFFMPEG.cmake.in b/vcpkg/overlay/ffmpeg/FindFFMPEG.cmake.in deleted file mode 100644 index 8a7237fc43..0000000000 --- a/vcpkg/overlay/ffmpeg/FindFFMPEG.cmake.in +++ /dev/null @@ -1,161 +0,0 @@ -# Distributed under the OSI-approved BSD 3-Clause License. -# -#.rst: -# FindFFMPEG -# -------- -# -# Find the FFPMEG libraries -# -# Result Variables -# ^^^^^^^^^^^^^^^^ -# -# The following variables will be defined: -# -# ``FFMPEG_FOUND`` -# True if FFMPEG found on the local system -# -# ``FFMPEG_INCLUDE_DIRS`` -# Location of FFMPEG header files -# -# ``FFMPEG_LIBRARY_DIRS`` -# Location of FFMPEG libraries -# -# ``FFMPEG_LIBRARIES`` -# List of the FFMPEG libraries found -# -# - -include(FindPackageHandleStandardArgs) -include(SelectLibraryConfigurations) -include(CMakeFindDependencyMacro) - -if(NOT FFMPEG_FOUND) - -# Compute the installation path relative to this file. -get_filename_component(SEARCH_PATH "${CMAKE_CURRENT_LIST_FILE}" PATH) -get_filename_component(SEARCH_PATH "${SEARCH_PATH}" PATH) -get_filename_component(SEARCH_PATH "${SEARCH_PATH}" PATH) -if(SEARCH_PATH STREQUAL "/") - set(SEARCH_PATH "") -endif() - -set(FFMPEG_VERSION "@FFMPEG_VERSION@") - -function(append_dependencies out) - cmake_parse_arguments(PARSE_ARGV 1 "arg" "DEBUG" "NAMES" "") - if(${arg_DEBUG}) - set(config DEBUG) - set(path "${CURRENT_INSTALLED_DIR}/debug/lib/") - else() - set(config RELEASE) - set(path "${CURRENT_INSTALLED_DIR}/lib/") - endif() - foreach(lib_name ${arg_NAMES}) - if("${lib_name}" STREQUAL "-pthread") - list(APPEND ${out} "-pthread") - elseif("${lib_name}" STREQUAL "-pthreads") - list(APPEND ${out} "-pthreads") - elseif("${lib_name}" STREQUAL "gcc") - list(APPEND ${out} "-lgcc") - elseif("${lib_name}" STREQUAL "gcc_s") - list(APPEND ${out} "-lgcc_s") - elseif("${lib_name}" STREQUAL "stdc++") - list(APPEND ${out} "-lstdc++") - elseif("${lib_name}" STREQUAL "atomic") - list(APPEND ${out} "-latomic") - else() - # first look in ${path} specifically to ensure we find the right release/debug variant - find_library(FFMPEG_DEPENDENCY_${lib_name}_${config} NAMES "${lib_name}" PATHS "${path}" NO_DEFAULT_PATH) - # if not found there, must be a system dependency, so look elsewhere - find_library(FFMPEG_DEPENDENCY_${lib_name}_${config} NAMES "${lib_name}" REQUIRED) - list(APPEND ${out} "${FFMPEG_DEPENDENCY_${lib_name}_${config}}") - endif() - endforeach() - set("${out}" "${${out}}" PARENT_SCOPE) -endfunction() - -macro(FFMPEG_FIND varname shortname headername) - if(NOT FFMPEG_${varname}_INCLUDE_DIRS) - find_path(FFMPEG_${varname}_INCLUDE_DIRS NAMES lib${shortname}/${headername} ${headername} PATHS ${SEARCH_PATH}/include NO_DEFAULT_PATH) - endif() - if(NOT FFMPEG_${varname}_LIBRARY) - find_library(FFMPEG_${varname}_LIBRARY_RELEASE NAMES ${shortname} PATHS ${SEARCH_PATH}/lib/ NO_DEFAULT_PATH) - find_library(FFMPEG_${varname}_LIBRARY_DEBUG NAMES ${shortname}d ${shortname} PATHS ${SEARCH_PATH}/debug/lib/ NO_DEFAULT_PATH) - get_filename_component(FFMPEG_${varname}_LIBRARY_RELEASE_DIR ${FFMPEG_${varname}_LIBRARY_RELEASE} DIRECTORY) - get_filename_component(FFMPEG_${varname}_LIBRARY_DEBUG_DIR ${FFMPEG_${varname}_LIBRARY_DEBUG} DIRECTORY) - select_library_configurations(FFMPEG_${varname}) - set(FFMPEG_${varname}_LIBRARY ${FFMPEG_${varname}_LIBRARY} CACHE STRING "") - endif() - if (FFMPEG_${varname}_LIBRARY AND FFMPEG_${varname}_INCLUDE_DIRS) - set(FFMPEG_${varname}_FOUND TRUE BOOL) - list(APPEND FFMPEG_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIRS}) - list(APPEND FFMPEG_LIBRARIES ${FFMPEG_${varname}_LIBRARY}) - list(APPEND FFMPEG_LIBRARY_DIRS ${FFMPEG_${varname}_LIBRARY_RELEASE_DIR} ${FFMPEG_${varname}_LIBRARY_DEBUG_DIR}) - endif() -endmacro(FFMPEG_FIND) - -if(@ENABLE_AVDEVICE@) - FFMPEG_FIND(libavdevice avdevice avdevice.h) -endif() -if(@ENABLE_AVFILTER@) - FFMPEG_FIND(libavfilter avfilter avfilter.h) -endif() -if(@ENABLE_AVFORMAT@) - FFMPEG_FIND(libavformat avformat avformat.h) -endif() -if(@ENABLE_AVCODEC@) - FFMPEG_FIND(libavcodec avcodec avcodec.h) -endif() -if(@ENABLE_POSTPROC@) - FFMPEG_FIND(libpostproc postproc postprocess.h) -endif() -if(@ENABLE_SWRESAMPLE@) - FFMPEG_FIND(libswresample swresample swresample.h) -endif() -if(@ENABLE_SWSCALE@) - FFMPEG_FIND(libswscale swscale swscale.h) -endif() -FFMPEG_FIND(libavutil avutil avutil.h) - -if (FFMPEG_libavutil_FOUND) - list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS) - list(REMOVE_DUPLICATES FFMPEG_LIBRARY_DIRS) - set(FFMPEG_libavutil_VERSION "@LIBAVUTIL_VERSION@" CACHE STRING "") - - if(FFMPEG_libavcodec_FOUND) - set(FFMPEG_libavcodec_VERSION "@LIBAVCODEC_VERSION@" CACHE STRING "") - endif() - if(FFMPEG_libavdevice_FOUND) - set(FFMPEG_libavdevice_VERSION "@LIBAVDEVICE_VERSION@" CACHE STRING "") - endif() - if(FFMPEG_libavfilter_FOUND) - set(FFMPEG_libavfilter_VERSION "@LIBAVFILTER_VERSION@" CACHE STRING "") - endif() - if(FFMPEG_libavformat_FOUND) - set(FFMPEG_libavformat_VERSION "@LIBAVFORMAT_VERSION@" CACHE STRING "") - endif() - if(FFMPEG_libswresample_FOUND) - set(FFMPEG_libswresample_VERSION "@LIBSWRESAMPLE_VERSION@" CACHE STRING "") - endif() - if(FFMPEG_libswscale_FOUND) - set(FFMPEG_libswscale_VERSION "@LIBSWSCALE_VERSION@" CACHE STRING "") - endif() - - append_dependencies(FFMPEG_DEPS_LIBRARY_RELEASE NAMES "@FFMPEG_DEPENDENCIES_RELEASE@") - append_dependencies(FFMPEG_DEPS_LIBRARY_DEBUG NAMES "@FFMPEG_DEPENDENCIES_DEBUG@" DEBUG) - if(FFMPEG_DEPS_LIBRARY_RELEASE OR FFMPEG_DEPS_LIBRARY_DEBUG) - select_library_configurations(FFMPEG_DEPS) - list(APPEND FFMPEG_LIBRARIES ${FFMPEG_DEPS_LIBRARY}) - endif() - - set(FFMPEG_LIBRARY ${FFMPEG_LIBRARIES}) - - set(FFMPEG_FOUND TRUE CACHE BOOL "") - set(FFMPEG_LIBRARIES ${FFMPEG_LIBRARIES} CACHE STRING "") - set(FFMPEG_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIRS} CACHE STRING "") - set(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBRARY_DIRS} CACHE STRING "") -endif() - -find_package_handle_standard_args(FFMPEG REQUIRED_VARS FFMPEG_LIBRARIES FFMPEG_LIBRARY_DIRS FFMPEG_INCLUDE_DIRS) - -endif() diff --git a/vcpkg/overlay/ffmpeg/build.sh.in b/vcpkg/overlay/ffmpeg/build.sh.in deleted file mode 100644 index 462737587b..0000000000 --- a/vcpkg/overlay/ffmpeg/build.sh.in +++ /dev/null @@ -1,152 +0,0 @@ -#!/usr/bin/env bash - -set -e - -export PATH="$PATH:/usr/bin" - -command -v cygpath >/dev/null && have_cygpath=1 - -cygpath() { - if [ -n "$have_cygpath" ]; then - command cygpath "$@" - else - eval _p='$'$# - printf '%s\n' "$_p" - fi -} - -move_binary() { - SOURCE=$1 - TARGET=$2 - BINARY=$3 - - # run lipo over the command to check whether it really - # is a binary that we need to merge architectures - lipo $SOURCE/$BINARY -info &> /dev/null || return 0 - - # get the directory name the file is in - DIRNAME=$(dirname $BINARY) - - # ensure the directory to move the binary to exists - mkdir -p $TARGET/$DIRNAME - - # now finally move the binary - mv $SOURCE/$BINARY $TARGET/$BINARY -} - -move_binaries() { - SOURCE=$1 - TARGET=$2 - - [ ! -d $SOURCE ] && return 0 - pushd $SOURCE - - for BINARY in $(find . -type f); do - move_binary $SOURCE $TARGET $BINARY - done - - popd -} - -merge_binaries() { - TARGET=$1 - SOURCE=$2 - - shift - shift - - pushd $SOURCE/$1 - BINARIES=$(find . -type f) - popd - - for BINARY in $BINARIES; do - COMMAND="lipo -create -output $TARGET/$BINARY" - - for ARCH in $@; do - COMMAND="$COMMAND -arch $ARCH $SOURCE/$ARCH/$BINARY" - done - - $($COMMAND) - done -} - -export PKG_CONFIG_PATH="$(cygpath -p "${PKG_CONFIG_PATH}")" - -# Export HTTP(S)_PROXY as http(s)_proxy: -[ -n "$HTTP_PROXY" ] && export http_proxy="$HTTP_PROXY" -[ -n "$HTTPS_PROXY" ] && export https_proxy="$HTTPS_PROXY" - -PATH_TO_BUILD_DIR=$( cygpath "@BUILD_DIR@") -PATH_TO_SRC_DIR=$( cygpath "@SOURCE_PATH@") -PATH_TO_PACKAGE_DIR=$(cygpath "@INST_PREFIX@") - -JOBS=@VCPKG_CONCURRENCY@ - -OSX_ARCHS="@OSX_ARCHS@" -OSX_ARCH_COUNT=0@OSX_ARCH_COUNT@ - -# Default to hardware concurrency if unset. -: ${JOBS:=$(nproc)} - -# Disable asm and x86asm on all android targets because they trigger build failures: -# arm64 Android build fails with 'relocation R_AARCH64_ADR_PREL_PG_HI21 cannot be used against symbol ff_cos_32; recompile with -fPIC' -# x86 Android build fails with 'error: inline assembly requires more registers than available'. -# x64 Android build fails with 'relocation R_X86_64_PC32 cannot be used against symbol ff_h264_cabac_tables; recompile with -fPIC' -if [ "@VCPKG_CMAKE_SYSTEM_NAME@" = "Android" ]; then - OPTIONS_arm=" --disable-asm --disable-x86asm" - OPTIONS_arm64=" --disable-asm --disable-x86asm" - OPTIONS_x86=" --disable-asm --disable-x86asm" - OPTIONS_x86_64="${OPTIONS_x86}" -else - OPTIONS_arm=" --disable-asm --disable-x86asm" - OPTIONS_arm64=" --enable-asm --disable-x86asm" - OPTIONS_x86=" --enable-asm --enable-x86asm" - OPTIONS_x86_64="${OPTIONS_x86}" -fi - -build_ffmpeg() { - # extract build architecture - BUILD_ARCH=$1 - shift - - echo "BUILD_ARCH=${BUILD_ARCH}" - - # get architecture-specific options - OPTION_VARIABLE="OPTIONS_${BUILD_ARCH}" - echo "OPTION_VARIABLE=${OPTION_VARIABLE}" - - echo "=== CONFIGURING ===" - - sh "$PATH_TO_SRC_DIR/configure" "--prefix=$PATH_TO_PACKAGE_DIR" @CONFIGURE_OPTIONS@ --arch=${BUILD_ARCH} ${!OPTION_VARIABLE} $@ - - echo "=== BUILDING ===" - - make -j${JOBS} V=1 - - echo "=== INSTALLING ===" - - make install -} - -cd "$PATH_TO_BUILD_DIR" - -if [ $OSX_ARCH_COUNT -gt 0 ]; then - for ARCH in $OSX_ARCHS; do - echo "=== CLEANING FOR $ARCH ===" - - make clean && make distclean - - build_ffmpeg $ARCH --extra-cflags=-arch --extra-cflags=$ARCH --extra-ldflags=-arch --extra-ldflags=$ARCH - - echo "=== COLLECTING BINARIES FOR $ARCH ===" - - move_binaries $PATH_TO_PACKAGE_DIR/lib $PATH_TO_BUILD_DIR/stage/$ARCH/lib - move_binaries $PATH_TO_PACKAGE_DIR/bin $PATH_TO_BUILD_DIR/stage/$ARCH/bin - done - - echo "=== MERGING ARCHITECTURES ===" - - merge_binaries $PATH_TO_PACKAGE_DIR $PATH_TO_BUILD_DIR/stage $OSX_ARCHS -else - build_ffmpeg @BUILD_ARCH@ -fi diff --git a/vcpkg/overlay/ffmpeg/portfile.cmake b/vcpkg/overlay/ffmpeg/portfile.cmake deleted file mode 100644 index 0a58f38816..0000000000 --- a/vcpkg/overlay/ffmpeg/portfile.cmake +++ /dev/null @@ -1,884 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO ffmpeg/ffmpeg - REF "n${VERSION}" - SHA512 abb9207364553248278f8e23e3d565da51ecb0ae9b20edda41624b314541bc3f53a8d6aac7fa5455168d2323d5d70d5a8acbe059f33423fbc2563e1a6cd0348b - HEAD_REF master - PATCHES - 0001-create-lib-libraries.patch - 0002-fix-msvc-link.patch #upstreamed in future version - 0003-fix-windowsinclude.patch - 0004-fix-debug-build.patch - 0005-fix-nasm.patch #upstreamed in future version - 0006-fix-StaticFeatures.patch - 0007-fix-lib-naming.patch - 0009-Fix-fdk-detection.patch - 0011-Fix-x265-detection.patch - 0012-Fix-ssl-110-detection.patch - 0013-define-WINVER.patch - 0015-Fix-xml2-detection.patch - 0020-fix-aarch64-libswscale.patch - 0022-fix-iconv.patch -) - -if(SOURCE_PATH MATCHES " ") - message(FATAL_ERROR "Error: ffmpeg will not build with spaces in the path. Please use a directory with no spaces") -endif() - -if(NOT VCPKG_TARGET_ARCHITECTURE STREQUAL "wasm32") - vcpkg_find_acquire_program(NASM) - get_filename_component(NASM_EXE_PATH "${NASM}" DIRECTORY) - vcpkg_add_to_path("${NASM_EXE_PATH}") -endif() - -set(OPTIONS "--enable-pic --disable-doc --enable-debug --enable-runtime-cpudetect --disable-autodetect") - -if(VCPKG_HOST_IS_WINDOWS) - vcpkg_acquire_msys(MSYS_ROOT PACKAGES automake1.16) - set(SHELL "${MSYS_ROOT}/usr/bin/bash.exe") - vcpkg_add_to_path("${MSYS_ROOT}/usr/share/automake-1.16") - string(APPEND OPTIONS " --pkg-config=${CURRENT_HOST_INSTALLED_DIR}/tools/pkgconf/pkgconf${VCPKG_HOST_EXECUTABLE_SUFFIX}") -else() - find_program(SHELL bash) -endif() - -if(VCPKG_TARGET_IS_MINGW) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - string(APPEND OPTIONS " --target-os=mingw32") - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - string(APPEND OPTIONS " --target-os=mingw64") - endif() -elseif(VCPKG_TARGET_IS_LINUX) - string(APPEND OPTIONS " --target-os=linux --enable-pthreads") -elseif(VCPKG_TARGET_IS_UWP) - string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-mediafoundation") -elseif(VCPKG_TARGET_IS_WINDOWS) - string(APPEND OPTIONS " --target-os=win32 --enable-w32threads --enable-d3d11va --enable-dxva2 --enable-mediafoundation") -elseif(VCPKG_TARGET_IS_OSX) - string(APPEND OPTIONS " --target-os=darwin --enable-appkit --enable-avfoundation --enable-coreimage --enable-audiotoolbox --enable-videotoolbox") -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Android") - string(APPEND OPTIONS " --target-os=android --enable-jni --enable-mediacodec") -elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "QNX") - string(APPEND OPTIONS " --target-os=qnx") -endif() - -if(VCPKG_TARGET_IS_OSX) - list(JOIN VCPKG_OSX_ARCHITECTURES " " OSX_ARCHS) - list(LENGTH VCPKG_OSX_ARCHITECTURES OSX_ARCH_COUNT) -endif() - -vcpkg_cmake_get_vars(cmake_vars_file) -include("${cmake_vars_file}") -if(VCPKG_DETECTED_MSVC) - string(APPEND OPTIONS " --disable-inline-asm") # clang-cl has inline assembly but this leads to undefined symbols. - set(OPTIONS "--toolchain=msvc ${OPTIONS}") - # This is required because ffmpeg depends upon optimizations to link correctly - string(APPEND VCPKG_COMBINED_C_FLAGS_DEBUG " -O2") - string(REGEX REPLACE "(^| )-RTC1( |$)" " " VCPKG_COMBINED_C_FLAGS_DEBUG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") - string(REGEX REPLACE "(^| )-Od( |$)" " " VCPKG_COMBINED_C_FLAGS_DEBUG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") - string(REGEX REPLACE "(^| )-Ob0( |$)" " " VCPKG_COMBINED_C_FLAGS_DEBUG "${VCPKG_COMBINED_C_FLAGS_DEBUG}") -endif() - -string(APPEND VCPKG_COMBINED_C_FLAGS_DEBUG " -I \"${CURRENT_INSTALLED_DIR}/include\"") -string(APPEND VCPKG_COMBINED_C_FLAGS_RELEASE " -I \"${CURRENT_INSTALLED_DIR}/include\"") - -## Setup vcpkg toolchain - -set(prog_env "") - -if(VCPKG_DETECTED_CMAKE_C_COMPILER) - get_filename_component(CC_path "${VCPKG_DETECTED_CMAKE_C_COMPILER}" DIRECTORY) - get_filename_component(CC_filename "${VCPKG_DETECTED_CMAKE_C_COMPILER}" NAME) - set(ENV{CC} "${CC_filename}") - string(APPEND OPTIONS " --cc=${CC_filename}") - #string(APPEND OPTIONS " --host_cc=${CC_filename}") ffmpeg not yet setup for cross builds? - list(APPEND prog_env "${CC_path}") -endif() - -if(VCPKG_DETECTED_CMAKE_CXX_COMPILER) - get_filename_component(CXX_path "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}" DIRECTORY) - get_filename_component(CXX_filename "${VCPKG_DETECTED_CMAKE_CXX_COMPILER}" NAME) - set(ENV{CXX} "${CXX_filename}") - string(APPEND OPTIONS " --cxx=${CXX_filename}") - #string(APPEND OPTIONS " --host_cxx=${CC_filename}") - list(APPEND prog_env "${CXX_path}") -endif() - -if(VCPKG_DETECTED_CMAKE_RC_COMPILER) - get_filename_component(RC_path "${VCPKG_DETECTED_CMAKE_RC_COMPILER}" DIRECTORY) - get_filename_component(RC_filename "${VCPKG_DETECTED_CMAKE_RC_COMPILER}" NAME) - set(ENV{WINDRES} "${RC_filename}") - string(APPEND OPTIONS " --windres=${RC_filename}") - list(APPEND prog_env "${RC_path}") -endif() - -if(VCPKG_DETECTED_CMAKE_LINKER AND VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW) - get_filename_component(LD_path "${VCPKG_DETECTED_CMAKE_LINKER}" DIRECTORY) - get_filename_component(LD_filename "${VCPKG_DETECTED_CMAKE_LINKER}" NAME) - set(ENV{LD} "${LD_filename}") - string(APPEND OPTIONS " --ld=${LD_filename}") - #string(APPEND OPTIONS " --host_ld=${LD_filename}") - list(APPEND prog_env "${LD_path}") -endif() - -if(VCPKG_DETECTED_CMAKE_NM) - get_filename_component(NM_path "${VCPKG_DETECTED_CMAKE_NM}" DIRECTORY) - get_filename_component(NM_filename "${VCPKG_DETECTED_CMAKE_NM}" NAME) - set(ENV{NM} "${NM_filename}") - string(APPEND OPTIONS " --nm=${NM_filename}") - list(APPEND prog_env "${NM_path}") -endif() - -if(VCPKG_DETECTED_CMAKE_AR) - get_filename_component(AR_path "${VCPKG_DETECTED_CMAKE_AR}" DIRECTORY) - get_filename_component(AR_filename "${VCPKG_DETECTED_CMAKE_AR}" NAME) - if(AR_filename MATCHES [[^(llvm-)?lib\.exe$]]) - set(ENV{AR} "ar-lib ${AR_filename}") - string(APPEND OPTIONS " --ar='ar-lib ${AR_filename}'") - else() - set(ENV{AR} "${AR_filename}") - string(APPEND OPTIONS " --ar='${AR_filename}'") - endif() - list(APPEND prog_env "${AR_path}") -endif() - -if(VCPKG_DETECTED_CMAKE_RANLIB) - get_filename_component(RANLIB_path "${VCPKG_DETECTED_CMAKE_RANLIB}" DIRECTORY) - get_filename_component(RANLIB_filename "${VCPKG_DETECTED_CMAKE_RANLIB}" NAME) - set(ENV{RANLIB} "${RANLIB_filename}") - string(APPEND OPTIONS " --ranlib=${RANLIB_filename}") - list(APPEND prog_env "${RANLIB_path}") -endif() - -list(REMOVE_DUPLICATES prog_env) -vcpkg_add_to_path(PREPEND ${prog_env}) - -# More? OBJCC STRIP BIN2C - -file(REMOVE_RECURSE "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - -set(FFMPEG_PKGCONFIG_MODULES libavutil) - -if("nonfree" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-nonfree") -endif() - -if("gpl" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-gpl") -endif() - -if("version3" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-version3") -endif() - -if("ffmpeg" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-ffmpeg") -else() - set(OPTIONS "${OPTIONS} --disable-ffmpeg") -endif() - -if("ffplay" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-ffplay") -else() - set(OPTIONS "${OPTIONS} --disable-ffplay") -endif() - -if("ffprobe" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-ffprobe") -else() - set(OPTIONS "${OPTIONS} --disable-ffprobe") -endif() - -if("avcodec" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avcodec") - set(ENABLE_AVCODEC ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libavcodec) -else() - set(OPTIONS "${OPTIONS} --disable-avcodec") - set(ENABLE_AVCODEC OFF) -endif() - -if("avdevice" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avdevice") - set(ENABLE_AVDEVICE ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libavdevice) -else() - set(OPTIONS "${OPTIONS} --disable-avdevice") - set(ENABLE_AVDEVICE OFF) -endif() - -if("avformat" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avformat") - set(ENABLE_AVFORMAT ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libavformat) -else() - set(OPTIONS "${OPTIONS} --disable-avformat") - set(ENABLE_AVFORMAT OFF) -endif() - -if("avfilter" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avfilter") - set(ENABLE_AVFILTER ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libavfilter) -else() - set(OPTIONS "${OPTIONS} --disable-avfilter") - set(ENABLE_AVFILTER OFF) -endif() - -if("postproc" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-postproc") - set(ENABLE_POSTPROC ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libpostproc) -else() - set(OPTIONS "${OPTIONS} --disable-postproc") - set(ENABLE_POSTPROC OFF) -endif() - -if("swresample" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-swresample") - set(ENABLE_SWRESAMPLE ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libswresample) -else() - set(OPTIONS "${OPTIONS} --disable-swresample") - set(ENABLE_SWRESAMPLE OFF) -endif() - -if("swscale" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-swscale") - set(ENABLE_SWSCALE ON) - list(APPEND FFMPEG_PKGCONFIG_MODULES libswscale) -else() - set(OPTIONS "${OPTIONS} --disable-swscale") - set(ENABLE_SWSCALE OFF) -endif() - -set(STATIC_LINKAGE OFF) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(STATIC_LINKAGE ON) -endif() - -if ("alsa" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-alsa") -else() - set(OPTIONS "${OPTIONS} --disable-alsa") -endif() - -if("amf" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-amf") -else() - set(OPTIONS "${OPTIONS} --disable-amf") -endif() - -if("aom" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libaom") -else() - set(OPTIONS "${OPTIONS} --disable-libaom") -endif() - -if("ass" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libass") -else() - set(OPTIONS "${OPTIONS} --disable-libass") -endif() - -if("avisynthplus" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-avisynth") -else() - set(OPTIONS "${OPTIONS} --disable-avisynth") -endif() - -if("bzip2" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-bzlib") -else() - set(OPTIONS "${OPTIONS} --disable-bzlib") -endif() - -if("dav1d" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libdav1d") -else() - set(OPTIONS "${OPTIONS} --disable-libdav1d") -endif() - -if("fdk-aac" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libfdk-aac") -else() - set(OPTIONS "${OPTIONS} --disable-libfdk-aac") -endif() - -if("fontconfig" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libfontconfig") -else() - set(OPTIONS "${OPTIONS} --disable-libfontconfig") -endif() - -if("freetype" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libfreetype") -else() - set(OPTIONS "${OPTIONS} --disable-libfreetype") -endif() - -if("fribidi" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libfribidi") -else() - set(OPTIONS "${OPTIONS} --disable-libfribidi") -endif() - -if("iconv" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-iconv") -else() - set(OPTIONS "${OPTIONS} --disable-iconv") -endif() - -if("ilbc" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libilbc") -else() - set(OPTIONS "${OPTIONS} --disable-libilbc") -endif() - -if("lzma" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-lzma") -else() - set(OPTIONS "${OPTIONS} --disable-lzma") -endif() - -if("mp3lame" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libmp3lame") -else() - set(OPTIONS "${OPTIONS} --disable-libmp3lame") -endif() - -if("modplug" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libmodplug") -else() - set(OPTIONS "${OPTIONS} --disable-libmodplug") -endif() - -if("nvcodec" IN_LIST FEATURES) - #Note: the --enable-cuda option does not actually require the cuda sdk or toolset port dependency as ffmpeg uses runtime detection and dynamic loading - set(OPTIONS "${OPTIONS} --enable-cuda --enable-nvenc --enable-nvdec --enable-cuvid --enable-ffnvcodec") -else() - set(OPTIONS "${OPTIONS} --disable-cuda --disable-nvenc --disable-nvdec --disable-cuvid --disable-ffnvcodec") -endif() - -if("opencl" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-opencl") -else() - set(OPTIONS "${OPTIONS} --disable-opencl") -endif() - -if("opengl" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-opengl") -else() - set(OPTIONS "${OPTIONS} --disable-opengl") -endif() - -if("openh264" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libopenh264") -else() - set(OPTIONS "${OPTIONS} --disable-libopenh264") -endif() - -if("openjpeg" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libopenjpeg") -else() - set(OPTIONS "${OPTIONS} --disable-libopenjpeg") -endif() - -if("openmpt" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libopenmpt") -else() - set(OPTIONS "${OPTIONS} --disable-libopenmpt") -endif() - -if("openssl" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-openssl") -else() - set(OPTIONS "${OPTIONS} --disable-openssl") - if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_UWP) - string(APPEND OPTIONS " --enable-schannel") - elseif(VCPKG_TARGET_IS_OSX) - string(APPEND OPTIONS " --enable-securetransport") - endif() -endif() - -if("opus" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libopus") -else() - set(OPTIONS "${OPTIONS} --disable-libopus") -endif() - -if("sdl2" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-sdl2") -else() - set(OPTIONS "${OPTIONS} --disable-sdl2") -endif() - -if("snappy" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libsnappy") -else() - set(OPTIONS "${OPTIONS} --disable-libsnappy") -endif() - -if("soxr" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libsoxr") -else() - set(OPTIONS "${OPTIONS} --disable-libsoxr") -endif() - -if("speex" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libspeex") -else() - set(OPTIONS "${OPTIONS} --disable-libspeex") -endif() - -if("ssh" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libssh") -else() - set(OPTIONS "${OPTIONS} --disable-libssh") -endif() - -if("tensorflow" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libtensorflow") -else() - set(OPTIONS "${OPTIONS} --disable-libtensorflow") -endif() - -if("tesseract" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libtesseract") -else() - set(OPTIONS "${OPTIONS} --disable-libtesseract") -endif() - -if("theora" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libtheora") -else() - set(OPTIONS "${OPTIONS} --disable-libtheora") -endif() - -if("vorbis" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libvorbis") -else() - set(OPTIONS "${OPTIONS} --disable-libvorbis") -endif() - -if("vpx" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libvpx") -else() - set(OPTIONS "${OPTIONS} --disable-libvpx") -endif() - -if("webp" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libwebp") -else() - set(OPTIONS "${OPTIONS} --disable-libwebp") -endif() - -if("x264" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libx264") -else() - set(OPTIONS "${OPTIONS} --disable-libx264") -endif() - -if("x265" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libx265") -else() - set(OPTIONS "${OPTIONS} --disable-libx265") -endif() - -if("xml2" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libxml2") -else() - set(OPTIONS "${OPTIONS} --disable-libxml2") -endif() - -if("zlib" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-zlib") -else() - set(OPTIONS "${OPTIONS} --disable-zlib") -endif() - -if ("srt" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libsrt") -else() - set(OPTIONS "${OPTIONS} --disable-libsrt") -endif() - -if ("qsv" IN_LIST FEATURES) - set(OPTIONS "${OPTIONS} --enable-libmfx --enable-encoder=h264_qsv --enable-decoder=h264_qsv") -else() - set(OPTIONS "${OPTIONS} --disable-libmfx") -endif() - -set(OPTIONS_CROSS "--enable-cross-compile") - -# ffmpeg needs --cross-prefix option to use appropriate tools for cross-compiling. -if(VCPKG_DETECTED_CMAKE_C_COMPILER MATCHES "([^\/]*-)gcc$") - string(APPEND OPTIONS_CROSS " --cross-prefix=${CMAKE_MATCH_1}") -endif() - -if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(BUILD_ARCH "x86_64") -else() - set(BUILD_ARCH ${VCPKG_TARGET_ARCHITECTURE}) -endif() - -if (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - if(VCPKG_TARGET_IS_WINDOWS) - vcpkg_find_acquire_program(GASPREPROCESSOR) - foreach(GAS_PATH ${GASPREPROCESSOR}) - get_filename_component(GAS_ITEM_PATH ${GAS_PATH} DIRECTORY) - vcpkg_add_to_path("${GAS_ITEM_PATH}") - endforeach(GAS_PATH) - endif() -endif() - -if(VCPKG_TARGET_IS_UWP) - 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\\") - string(APPEND OPTIONS " --disable-programs") - string(APPEND OPTIONS " --extra-cflags=-DWINAPI_FAMILY=WINAPI_FAMILY_APP --extra-cflags=-D_WIN32_WINNT=0x0A00") - string(APPEND OPTIONS " --extra-ldflags=-APPCONTAINER --extra-ldflags=WindowsApp.lib") -endif() - -set(OPTIONS_DEBUG "--debug --disable-optimizations") -set(OPTIONS_RELEASE "--enable-optimizations") - -set(OPTIONS "${OPTIONS} ${OPTIONS_CROSS}") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - set(OPTIONS "${OPTIONS} --disable-static --enable-shared") -endif() - -if(VCPKG_TARGET_IS_MINGW) - set(OPTIONS "${OPTIONS} --extra_cflags=-D_WIN32_WINNT=0x0601") -elseif(VCPKG_TARGET_IS_WINDOWS) - set(OPTIONS "${OPTIONS} --extra-cflags=-DHAVE_UNISTD_H=0") -endif() - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(OPTIONS "${OPTIONS} --pkg-config-flags=--static") -endif() - -message(STATUS "Building Options: ${OPTIONS}") - -# Release build -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - if (VCPKG_DETECTED_MSVC) - set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-ldflags=-libpath:\"${CURRENT_INSTALLED_DIR}/lib\"") - else() - set(OPTIONS_RELEASE "${OPTIONS_RELEASE} --extra-ldflags=-L\"${CURRENT_INSTALLED_DIR}/lib\"") - endif() - message(STATUS "Building Release Options: ${OPTIONS_RELEASE}") - set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/lib/pkgconfig") - message(STATUS "Building ${PORT} for Release") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - # We use response files here as the only known way to handle spaces in paths - set(crsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/cflags.rsp") - string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_C_FLAGS_RELEASE_SANITIZED "${VCPKG_COMBINED_C_FLAGS_RELEASE}") - file(WRITE "${crsp}" "${VCPKG_COMBINED_C_FLAGS_RELEASE_SANITIZED}") - set(ldrsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/ldflags.rsp") - string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE_SANITIZED "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE}") - file(WRITE "${ldrsp}" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_RELEASE_SANITIZED}") - set(ENV{CFLAGS} "@${crsp}") - # All tools except the msvc arm{,64} assembler accept @... as response file syntax. - # For that assembler, there is no known way to pass in flags. We must hope that not passing flags will work acceptably. - if(NOT VCPKG_DETECTED_MSVC OR NOT VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") - set(ENV{ASFLAGS} "@${crsp}") - endif() - set(ENV{LDFLAGS} "@${ldrsp}") - set(ENV{ARFLAGS} "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_RELEASE}") - - set(BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel") - set(CONFIGURE_OPTIONS "${OPTIONS} ${OPTIONS_RELEASE}") - set(INST_PREFIX "${CURRENT_PACKAGES_DIR}") - - configure_file("${CMAKE_CURRENT_LIST_DIR}/build.sh.in" "${BUILD_DIR}/build.sh" @ONLY) - - vcpkg_execute_required_process( - COMMAND "${SHELL}" ./build.sh - WORKING_DIRECTORY "${BUILD_DIR}" - LOGNAME "build-${TARGET_TRIPLET}-rel" - SAVE_LOG_FILES ffbuild/config.log - ) -endif() - -# Debug build -if (NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - if (VCPKG_DETECTED_MSVC) - set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-libpath:\"${CURRENT_INSTALLED_DIR}/debug/lib\"") - else() - set(OPTIONS_DEBUG "${OPTIONS_DEBUG} --extra-ldflags=-L\"${CURRENT_INSTALLED_DIR}/debug/lib\"") - endif() - message(STATUS "Building Debug Options: ${OPTIONS_DEBUG}") - set(ENV{LDFLAGS} "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}") - set(ENV{PKG_CONFIG_PATH} "${CURRENT_INSTALLED_DIR}/debug/lib/pkgconfig") - message(STATUS "Building ${PORT} for Debug") - file(MAKE_DIRECTORY "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - set(crsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/cflags.rsp") - string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_C_FLAGS_DEBUG_SANITIZED "${VCPKG_COMBINED_C_FLAGS_DEBUG}") - file(WRITE "${crsp}" "${VCPKG_COMBINED_C_FLAGS_DEBUG_SANITIZED}") - set(ldrsp "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg/ldflags.rsp") - string(REGEX REPLACE "-arch [A-Za-z0-9_]+" "" VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG_SANITIZED "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG}") - file(WRITE "${ldrsp}" "${VCPKG_COMBINED_SHARED_LINKER_FLAGS_DEBUG_SANITIZED}") - set(ENV{CFLAGS} "@${crsp}") - if(NOT VCPKG_DETECTED_MSVC OR NOT VCPKG_TARGET_ARCHITECTURE MATCHES "^arm") - set(ENV{ASFLAGS} "@${crsp}") - endif() - set(ENV{LDFLAGS} "@${ldrsp}") - set(ENV{ARFLAGS} "${VCPKG_COMBINED_STATIC_LINKER_FLAGS_DEBUG}") - - set(BUILD_DIR "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg") - set(CONFIGURE_OPTIONS "${OPTIONS} ${OPTIONS_DEBUG}") - set(INST_PREFIX "${CURRENT_PACKAGES_DIR}/debug") - - configure_file("${CMAKE_CURRENT_LIST_DIR}/build.sh.in" "${BUILD_DIR}/build.sh" @ONLY) - - vcpkg_execute_required_process( - COMMAND "${SHELL}" ./build.sh - WORKING_DIRECTORY "${BUILD_DIR}" - LOGNAME "build-${TARGET_TRIPLET}-dbg" - SAVE_LOG_FILES ffbuild/config.log - ) -endif() - -if(VCPKG_TARGET_IS_WINDOWS) - file(GLOB DEF_FILES "${CURRENT_PACKAGES_DIR}/lib/*.def" "${CURRENT_PACKAGES_DIR}/debug/lib/*.def") - - if(NOT VCPKG_TARGET_IS_MINGW) - if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm") - set(LIB_MACHINE_ARG /machine:ARM) - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") - set(LIB_MACHINE_ARG /machine:ARM64) - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") - set(LIB_MACHINE_ARG /machine:x86) - elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") - set(LIB_MACHINE_ARG /machine:x64) - else() - message(FATAL_ERROR "Unsupported target architecture") - endif() - - foreach(DEF_FILE ${DEF_FILES}) - get_filename_component(DEF_FILE_DIR "${DEF_FILE}" DIRECTORY) - get_filename_component(DEF_FILE_NAME "${DEF_FILE}" NAME) - string(REGEX REPLACE "-[0-9]*\\.def" "${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" OUT_FILE_NAME "${DEF_FILE_NAME}") - file(TO_NATIVE_PATH "${DEF_FILE}" DEF_FILE_NATIVE) - file(TO_NATIVE_PATH "${DEF_FILE_DIR}/${OUT_FILE_NAME}" OUT_FILE_NATIVE) - message(STATUS "Generating ${OUT_FILE_NATIVE}") - vcpkg_execute_required_process( - COMMAND lib.exe "/def:${DEF_FILE_NATIVE}" "/out:${OUT_FILE_NATIVE}" ${LIB_MACHINE_ARG} - WORKING_DIRECTORY "${CURRENT_PACKAGES_DIR}" - LOGNAME "libconvert-${TARGET_TRIPLET}" - ) - endforeach() - endif() - - file(GLOB EXP_FILES "${CURRENT_PACKAGES_DIR}/lib/*.exp" "${CURRENT_PACKAGES_DIR}/debug/lib/*.exp") - file(GLOB LIB_FILES "${CURRENT_PACKAGES_DIR}/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}" "${CURRENT_PACKAGES_DIR}/debug/bin/*${VCPKG_TARGET_STATIC_LIBRARY_SUFFIX}") - if(VCPKG_TARGET_IS_MINGW) - file(GLOB LIB_FILES_2 "${CURRENT_PACKAGES_DIR}/bin/*.lib" "${CURRENT_PACKAGES_DIR}/debug/bin/*.lib") - endif() - set(files_to_remove ${EXP_FILES} ${LIB_FILES} ${LIB_FILES_2} ${DEF_FILES}) - if(files_to_remove) - file(REMOVE ${files_to_remove}) - endif() -endif() - -if("ffmpeg" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES ffmpeg AUTO_CLEAN) -endif() -if("ffprobe" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES ffprobe AUTO_CLEAN) -endif() -if("ffplay" IN_LIST FEATURES) - vcpkg_copy_tools(TOOL_NAMES ffplay AUTO_CLEAN) -endif() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share") - -if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin") -endif() - -vcpkg_copy_pdbs() - -if (VCPKG_TARGET_IS_WINDOWS) - set(_dirs "/") - if(NOT VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - list(APPEND _dirs "/debug/") - endif() - foreach(_debug IN LISTS _dirs) - foreach(PKGCONFIG_MODULE IN LISTS FFMPEG_PKGCONFIG_MODULES) - set(PKGCONFIG_FILE "${CURRENT_PACKAGES_DIR}${_debug}lib/pkgconfig/${PKGCONFIG_MODULE}.pc") - # remove redundant cygwin style -libpath entries - execute_process( - COMMAND "${MSYS_ROOT}/usr/bin/cygpath.exe" -u "${CURRENT_INSTALLED_DIR}" - OUTPUT_VARIABLE CYG_INSTALLED_DIR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - vcpkg_replace_string("${PKGCONFIG_FILE}" "-libpath:${CYG_INSTALLED_DIR}${_debug}lib/pkgconfig/../../lib " "") - # transform libdir, includedir, and prefix paths from cygwin style to windows style - file(READ "${PKGCONFIG_FILE}" PKGCONFIG_CONTENT) - foreach(PATH_NAME prefix libdir includedir) - string(REGEX MATCH "${PATH_NAME}=[^\n]*" PATH_VALUE "${PKGCONFIG_CONTENT}") - string(REPLACE "${PATH_NAME}=" "" PATH_VALUE "${PATH_VALUE}") - if(NOT PATH_VALUE) - message(FATAL_ERROR "failed to find pkgconfig variable ${PATH_NAME}") - endif() - execute_process( - COMMAND "${MSYS_ROOT}/usr/bin/cygpath.exe" -w "${PATH_VALUE}" - OUTPUT_VARIABLE FIXED_PATH - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - file(TO_CMAKE_PATH "${FIXED_PATH}" FIXED_PATH) - vcpkg_replace_string("${PKGCONFIG_FILE}" "${PATH_NAME}=${PATH_VALUE}" "${PATH_NAME}=${FIXED_PATH}") - endforeach() - # list libraries with -l flag (so pkgconf knows they are libraries and not just linker flags) - foreach(LIBS_ENTRY Libs Libs.private) - string(REGEX MATCH "${LIBS_ENTRY}: [^\n]*" LIBS_VALUE "${PKGCONFIG_CONTENT}") - if(NOT LIBS_VALUE) - message(FATAL_ERROR "failed to find pkgconfig entry ${LIBS_ENTRY}") - endif() - string(REPLACE "${LIBS_ENTRY}: " "" LIBS_VALUE "${LIBS_VALUE}") - if(LIBS_VALUE) - set(LIBS_VALUE_OLD "${LIBS_VALUE}") - string(REGEX REPLACE "([^ ]+)[.]lib" "-l\\1" LIBS_VALUE "${LIBS_VALUE}") - set(LIBS_VALUE_NEW "${LIBS_VALUE}") - vcpkg_replace_string("${PKGCONFIG_FILE}" "${LIBS_ENTRY}: ${LIBS_VALUE_OLD}" "${LIBS_ENTRY}: ${LIBS_VALUE_NEW}") - endif() - endforeach() - endforeach() - endforeach() -endif() - -vcpkg_fixup_pkgconfig() - -# Handle dependencies - -x_vcpkg_pkgconfig_get_modules(PREFIX FFMPEG_PKGCONFIG MODULES ${FFMPEG_PKGCONFIG_MODULES} LIBS) - -function(append_dependencies_from_libs out) - cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "LIBS" "") - string(REGEX REPLACE "[ ]+" ";" contents "${arg_LIBS}") - list(FILTER contents EXCLUDE REGEX "^-framework$") - list(FILTER contents EXCLUDE REGEX "^-L.+") - list(FILTER contents EXCLUDE REGEX "^-libpath:.+") - list(TRANSFORM contents REPLACE "^-Wl,-framework," "-l") - list(FILTER contents EXCLUDE REGEX "^-Wl,.+") - list(TRANSFORM contents REPLACE "^-l" "") - list(FILTER contents EXCLUDE REGEX "^avutil$") - list(FILTER contents EXCLUDE REGEX "^avcodec$") - list(FILTER contents EXCLUDE REGEX "^avdevice$") - list(FILTER contents EXCLUDE REGEX "^avfilter$") - list(FILTER contents EXCLUDE REGEX "^avformat$") - list(FILTER contents EXCLUDE REGEX "^postproc$") - list(FILTER contents EXCLUDE REGEX "^swresample$") - list(FILTER contents EXCLUDE REGEX "^swscale$") - if(VCPKG_TARGET_IS_WINDOWS) - list(TRANSFORM contents TOLOWER) - endif() - if(contents) - list(APPEND "${out}" "${contents}") - set("${out}" "${${out}}" PARENT_SCOPE) - endif() -endfunction() - -append_dependencies_from_libs(FFMPEG_DEPENDENCIES_RELEASE LIBS "${FFMPEG_PKGCONFIG_LIBS_RELEASE}") -append_dependencies_from_libs(FFMPEG_DEPENDENCIES_DEBUG LIBS "${FFMPEG_PKGCONFIG_LIBS_DEBUG}") - -# must remove duplicates from the front to respect link order so reverse first -list(REVERSE FFMPEG_DEPENDENCIES_RELEASE) -list(REVERSE FFMPEG_DEPENDENCIES_DEBUG) -list(REMOVE_DUPLICATES FFMPEG_DEPENDENCIES_RELEASE) -list(REMOVE_DUPLICATES FFMPEG_DEPENDENCIES_DEBUG) -list(REVERSE FFMPEG_DEPENDENCIES_RELEASE) -list(REVERSE FFMPEG_DEPENDENCIES_DEBUG) - -message(STATUS "Dependencies (release): ${FFMPEG_DEPENDENCIES_RELEASE}") -message(STATUS "Dependencies (debug): ${FFMPEG_DEPENDENCIES_DEBUG}") - -# Handle version strings - -function(extract_regex_from_file out) - cmake_parse_arguments(PARSE_ARGV 1 "arg" "MAJOR" "FILE_WITHOUT_EXTENSION;REGEX" "") - file(READ "${arg_FILE_WITHOUT_EXTENSION}.h" contents) - if (contents MATCHES "${arg_REGEX}") - if(NOT CMAKE_MATCH_COUNT EQUAL 1) - message(FATAL_ERROR "Could not identify match group in regular expression \"${arg_REGEX}\"") - endif() - else() - if (arg_MAJOR) - file(READ "${arg_FILE_WITHOUT_EXTENSION}_major.h" contents) - if (contents MATCHES "${arg_REGEX}") - if(NOT CMAKE_MATCH_COUNT EQUAL 1) - message(FATAL_ERROR "Could not identify match group in regular expression \"${arg_REGEX}\"") - endif() - else() - message(WARNING "Could not find line matching \"${arg_REGEX}\" in file \"${arg_FILE_WITHOUT_EXTENSION}_major.h\"") - endif() - else() - message(WARNING "Could not find line matching \"${arg_REGEX}\" in file \"${arg_FILE_WITHOUT_EXTENSION}.h\"") - endif() - endif() - set("${out}" "${CMAKE_MATCH_1}" PARENT_SCOPE) -endfunction() - -function(extract_version_from_component out) - cmake_parse_arguments(PARSE_ARGV 1 "arg" "" "COMPONENT" "") - string(TOLOWER "${arg_COMPONENT}" component_lower) - string(TOUPPER "${arg_COMPONENT}" component_upper) - extract_regex_from_file(major_version - FILE_WITHOUT_EXTENSION "${SOURCE_PATH}/${component_lower}/version" - MAJOR - REGEX "#define ${component_upper}_VERSION_MAJOR[ ]+([0-9]+)" - ) - extract_regex_from_file(minor_version - FILE_WITHOUT_EXTENSION "${SOURCE_PATH}/${component_lower}/version" - REGEX "#define ${component_upper}_VERSION_MINOR[ ]+([0-9]+)" - ) - extract_regex_from_file(micro_version - FILE_WITHOUT_EXTENSION "${SOURCE_PATH}/${component_lower}/version" - REGEX "#define ${component_upper}_VERSION_MICRO[ ]+([0-9]+)" - ) - set("${out}" "${major_version}.${minor_version}.${micro_version}" PARENT_SCOPE) -endfunction() - -extract_regex_from_file(FFMPEG_VERSION - FILE_WITHOUT_EXTENSION "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/libavutil/ffversion" - REGEX "#define FFMPEG_VERSION[ ]+\"(.+)\"" -) - -extract_version_from_component(LIBAVUTIL_VERSION - COMPONENT libavutil) -extract_version_from_component(LIBAVCODEC_VERSION - COMPONENT libavcodec) -extract_version_from_component(LIBAVDEVICE_VERSION - COMPONENT libavdevice) -extract_version_from_component(LIBAVFILTER_VERSION - COMPONENT libavfilter) -extract_version_from_component(LIBAVFORMAT_VERSION - COMPONENT libavformat) -extract_version_from_component(LIBSWRESAMPLE_VERSION - COMPONENT libswresample) -extract_version_from_component(LIBSWSCALE_VERSION - COMPONENT libswscale) - -# Handle copyright -file(STRINGS "${CURRENT_BUILDTREES_DIR}/build-${TARGET_TRIPLET}-rel-out.log" LICENSE_STRING REGEX "License: .*" LIMIT_COUNT 1) -if(LICENSE_STRING STREQUAL "License: LGPL version 2.1 or later") - set(LICENSE_FILE "COPYING.LGPLv2.1") -elseif(LICENSE_STRING STREQUAL "License: LGPL version 3 or later") - set(LICENSE_FILE "COPYING.LGPLv3") -elseif(LICENSE_STRING STREQUAL "License: GPL version 2 or later") - set(LICENSE_FILE "COPYING.GPLv2") -elseif(LICENSE_STRING STREQUAL "License: GPL version 3 or later") - set(LICENSE_FILE "COPYING.GPLv3") -elseif(LICENSE_STRING STREQUAL "License: nonfree and unredistributable") - set(LICENSE_FILE "COPYING.NONFREE") - file(WRITE "${SOURCE_PATH}/${LICENSE_FILE}" "${LICENSE_STRING}") -else() - message(FATAL_ERROR "Failed to identify license (${LICENSE_STRING})") -endif() - -configure_file("${CMAKE_CURRENT_LIST_DIR}/FindFFMPEG.cmake.in" "${CURRENT_PACKAGES_DIR}/share/${PORT}/FindFFMPEG.cmake" @ONLY) -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/${LICENSE_FILE}") diff --git a/vcpkg/overlay/ffmpeg/usage b/vcpkg/overlay/ffmpeg/usage deleted file mode 100644 index 6ef6c3bd07..0000000000 --- a/vcpkg/overlay/ffmpeg/usage +++ /dev/null @@ -1,6 +0,0 @@ -To use ffmpeg add the following to your CMake project: - - find_package(FFMPEG REQUIRED) - target_include_directories(main PRIVATE ${FFMPEG_INCLUDE_DIRS}) - target_link_directories(main PRIVATE ${FFMPEG_LIBRARY_DIRS}) - target_link_libraries(main PRIVATE ${FFMPEG_LIBRARIES}) diff --git a/vcpkg/overlay/ffmpeg/vcpkg-cmake-wrapper.cmake b/vcpkg/overlay/ffmpeg/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 170bf63336..0000000000 --- a/vcpkg/overlay/ffmpeg/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,8 +0,0 @@ -set(FFMPEG_PREV_MODULE_PATH ${CMAKE_MODULE_PATH}) -list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_LIST_DIR}) - -cmake_policy(SET CMP0012 NEW) - -_find_package(${ARGS}) - -set(CMAKE_MODULE_PATH ${FFMPEG_PREV_MODULE_PATH}) diff --git a/vcpkg/overlay/ffmpeg/vcpkg.json b/vcpkg/overlay/ffmpeg/vcpkg.json deleted file mode 100644 index f94124b8ff..0000000000 --- a/vcpkg/overlay/ffmpeg/vcpkg.json +++ /dev/null @@ -1,691 +0,0 @@ -{ - "name": "ffmpeg", - "version": "6.1", - "port-version": 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." - ], - "homepage": "https://ffmpeg.org", - "license": null, - "dependencies": [ - { - "name": "vcpkg-cmake-get-vars", - "host": true - }, - { - "name": "vcpkg-pkgconfig-get-modules", - "host": true - } - ], - "default-features": [ - "avcodec", - "avdevice", - "avfilter", - "avformat", - "swresample", - "swscale" - ], - "features": { - "all": { - "description": "Build with all allowed dependencies selected that are compatible with the lgpl license", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "aom", - "avcodec", - "avdevice", - "avfilter", - "avformat", - "bzip2", - "freetype", - "iconv", - "lzma", - "mp3lame", - "openjpeg", - "openmpt", - "opus", - "snappy", - "soxr", - "speex", - "swresample", - "swscale", - "theora", - "vorbis", - "vpx", - "webp", - "xml2", - "zlib" - ] - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "alsa" - ], - "platform": "linux" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "sdl2" - ], - "platform": "!osx" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "ass" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "fontconfig" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "fribidi" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "modplug" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "opencl" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "openh264" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "srt" - ], - "platform": "!uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "ilbc" - ], - "platform": "!(arm & uwp)" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "ssh" - ], - "platform": "!(uwp | arm)" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "amf" - ], - "platform": "!osx & !uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "opengl" - ], - "platform": "!uwp & !(arm64 & windows)" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "tensorflow" - ], - "platform": "x64 & !static & !uwp & !windows" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "dav1d" - ], - "platform": "!(uwp | (windows & x86 & !static))" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "tesseract" - ], - "platform": "!(windows & arm) & !static & !uwp" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "qsv" - ], - "platform": "linux | (!osx & !uwp & !(arm & windows))" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "nvcodec" - ], - "platform": "linux | (!osx & !uwp & !(arm64 & windows))" - } - ] - }, - "all-gpl": { - "description": "Build with all allowed dependencies selected that are compatible with the gpl license", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "all", - "gpl", - "postproc" - ] - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "x264" - ], - "platform": "!(arm & windows)" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "x265" - ], - "platform": "!uwp & !(arm & windows)" - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avisynthplus" - ], - "platform": "windows & !arm & !uwp & !static" - } - ] - }, - "all-nonfree": { - "description": "Build with all allowed dependencies selected with a non-redistributable license", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "all-gpl", - "fdk-aac", - "nonfree", - "openssl" - ] - } - ] - }, - "alsa": { - "description": "Enable ALSA support", - "dependencies": [ - "alsa" - ] - }, - "amf": { - "description": "AMD AMF codec support", - "dependencies": [ - "amd-amf" - ] - }, - "aom": { - "description": "AV1 video encoding/decoding via libaom support in ffmpeg", - "dependencies": [ - "aom" - ] - }, - "ass": { - "description": "Libass subtitles rendering, needed for subtitles and ass filter support in ffmpeg", - "dependencies": [ - "libass" - ] - }, - "avcodec": { - "description": "Build the avcodec library" - }, - "avdevice": { - "description": "Build the avdevice library", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avformat" - ] - } - ] - }, - "avfilter": { - "description": "Build the avfilter library" - }, - "avformat": { - "description": "Build the avformat library", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec" - ] - } - ] - }, - "avisynthplus": { - "description": "Reading of AviSynth script files", - "supports": "windows & !static", - "dependencies": [ - "avisynthplus", - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "gpl" - ] - } - ] - }, - "avresample": { - "description": "Build the avresample library" - }, - "bzip2": { - "description": "Bzip2 support", - "dependencies": [ - "bzip2" - ] - }, - "dav1d": { - "description": "AV1 decoding via libdav1d", - "dependencies": [ - "dav1d" - ] - }, - "fdk-aac": { - "description": "AAC de/encoding via libfdk-aac, **including GPL-incompatible patent-encumbered HE-AAC**. If you do not require HE-AAC, use the built-in FFmpeg AAC codec.", - "dependencies": [ - { - "name": "fdk-aac", - "default-features": false, - "features": [ - "he-aac" - ] - }, - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "nonfree" - ] - } - ] - }, - "ffmpeg": { - "description": "Build the ffmpeg application", - "supports": "!uwp", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avfilter", - "avformat" - ] - } - ] - }, - "ffplay": { - "description": "Build the ffplay application", - "supports": "!uwp", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avfilter", - "avformat", - "sdl2", - "swresample", - "swscale" - ] - } - ] - }, - "ffprobe": { - "description": "Build the ffprobe application", - "supports": "!uwp", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec", - "avformat" - ] - } - ] - }, - "fontconfig": { - "description": "Useful for drawtext filter", - "dependencies": [ - "fontconfig" - ] - }, - "freetype": { - "description": "Needed for drawtext filter", - "dependencies": [ - "freetype" - ] - }, - "fribidi": { - "description": "Improves drawtext filter", - "dependencies": [ - "fribidi" - ] - }, - "gpl": { - "description": "Allow use of GPL code, the resulting libs and binaries will be under GPL" - }, - "iconv": { - "description": "Iconv support", - "dependencies": [ - "libiconv" - ] - }, - "ilbc": { - "description": "iLBC de/encoding via libilbc", - "dependencies": [ - "libilbc" - ] - }, - "lzma": { - "description": "lzma support", - "dependencies": [ - "liblzma" - ] - }, - "modplug": { - "description": "ModPlug via libmodplug", - "dependencies": [ - "libmodplug" - ] - }, - "mp3lame": { - "description": "MP3 encoding via libmp3lame", - "dependencies": [ - "mp3lame" - ] - }, - "nonfree": { - "description": "Allow use of nonfree code, the resulting libs and binaries will be unredistributable" - }, - "nvcodec": { - "description": "Nvidia video decoding/encoding acceleration", - "supports": "linux | (!osx & !uwp & !(arm64 & windows))", - "dependencies": [ - "ffnvcodec" - ] - }, - "opencl": { - "description": "OpenCL processing", - "supports": "!uwp", - "dependencies": [ - "opencl" - ] - }, - "opengl": { - "description": "OpenGL rendering", - "supports": "!uwp", - "dependencies": [ - "opengl", - "opengl-registry" - ] - }, - "openh264": { - "description": "H.264 de/encoding via openh264", - "dependencies": [ - "openh264" - ] - }, - "openjpeg": { - "description": "JPEG 2000 de/encoding via OpenJPEG", - "dependencies": [ - "openjpeg" - ] - }, - "openmpt": { - "description": "Decoding tracked files via libopenmpt", - "dependencies": [ - "libopenmpt" - ] - }, - "openssl": { - "description": "Needed for https support if gnutls, libtls or mbedtls is not used", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "nonfree" - ] - }, - "openssl" - ] - }, - "opus": { - "description": "Opus de/encoding via libopus", - "dependencies": [ - "opus" - ] - }, - "postproc": { - "description": "Build the postproc library", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "gpl" - ] - } - ] - }, - "qsv": { - "description": "Intel QSV Codec", - "dependencies": [ - "mfx-dispatch" - ] - }, - "sdl2": { - "description": "Sdl2 support", - "dependencies": [ - { - "name": "sdl2", - "default-features": false, - "features": [ - "x11" - ], - "platform": "linux" - }, - { - "name": "sdl2", - "platform": "!linux" - } - ] - }, - "snappy": { - "description": "Snappy compression, needed for hap encoding", - "dependencies": [ - "snappy" - ] - }, - "soxr": { - "description": "Include libsoxr resampling", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "swresample" - ] - }, - "soxr" - ] - }, - "speex": { - "description": "Speex de/encoding via libspeex", - "dependencies": [ - "speex" - ] - }, - "srt": { - "description": "Haivision SRT protocol", - "supports": "!uwp", - "dependencies": [ - "libsrt" - ] - }, - "ssh": { - "description": "SFTP protocol via libssh", - "dependencies": [ - "libssh" - ] - }, - "swresample": { - "description": "Build the swresample library" - }, - "swscale": { - "description": "Build the swscale library" - }, - "tensorflow": { - "description": "TensorFlow as a DNN module backend for DNN based filters like sr", - "supports": "!static", - "dependencies": [ - "tensorflow" - ] - }, - "tesseract": { - "description": "Tesseract, needed for ocr filter", - "supports": "!static", - "dependencies": [ - "tesseract" - ] - }, - "theora": { - "description": "Theora encoding via libtheora", - "dependencies": [ - "libtheora" - ] - }, - "version3": { - "description": "Upgrade (L)GPL to version 3" - }, - "vorbis": { - "description": "Vorbis en/decoding via libvorbis, native implementation exists", - "dependencies": [ - "libvorbis" - ] - }, - "vpx": { - "description": "VP8 and VP9 de/encoding via libvpx", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "avcodec" - ] - }, - "libvpx" - ] - }, - "webp": { - "description": "WebP encoding via libwebp", - "dependencies": [ - "libwebp" - ] - }, - "x264": { - "description": "H.264 encoding via x264", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "gpl" - ] - }, - "x264" - ] - }, - "x265": { - "description": "HEVC encoding via x265", - "dependencies": [ - { - "name": "ffmpeg", - "default-features": false, - "features": [ - "gpl" - ] - }, - "x265" - ] - }, - "xml2": { - "description": "XML parsing using the C library libxml2, needed for dash demuxing support", - "dependencies": [ - "libxml2" - ] - }, - "zlib": { - "description": "zlib support", - "dependencies": [ - "zlib" - ] - } - } -} diff --git a/vcpkg/overlay/libiconv/0002-Config-for-MSVC.patch b/vcpkg/overlay/libiconv/0002-Config-for-MSVC.patch deleted file mode 100644 index 0c90e50ef1..0000000000 --- a/vcpkg/overlay/libiconv/0002-Config-for-MSVC.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git "a/lib/loop_wchar.h" "b/lib/loop_wchar.h" -index 6dc011b..158ccdd 100644 ---- "a/lib/loop_wchar.h" -+++ "b/lib/loop_wchar.h" -@@ -37,7 +37,7 @@ - # include - # define BUF_SIZE 64 /* assume MB_LEN_MAX <= 64 */ - /* Some systems, like BeOS, have multibyte encodings but lack mbstate_t. */ -- extern size_t mbrtowc (); -+// extern size_t mbrtowc (); - # ifdef mbstate_t - # define mbrtowc(pwc, s, n, ps) (mbrtowc)(pwc, s, n, 0) - # define mbsinit(ps) 1 - \ No newline at end of file diff --git a/vcpkg/overlay/libiconv/0003-Add-export.patch b/vcpkg/overlay/libiconv/0003-Add-export.patch deleted file mode 100644 index c8d131d2ea..0000000000 --- a/vcpkg/overlay/libiconv/0003-Add-export.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -uNr libiconv-1.16/libcharset/include/libcharset.h.in libiconv-1.16-work/libcharset/include/libcharset.h.in ---- libiconv-1.16/libcharset/include/libcharset.h.in 2018-09-17 19:07:42.000000000 +0300 -+++ libiconv-1.16-work/libcharset/include/libcharset.h.in 2019-12-04 17:15:50.000000000 +0300 -@@ -33,7 +33,7 @@ - by the corresponding pathname with the current prefix instead. Both - prefixes should be directory names without trailing slash (i.e. use "" - instead of "/"). */ --extern void libcharset_set_relocation_prefix (const char *orig_prefix, -+extern void LIBCHARSET_DLL_EXPORTED libcharset_set_relocation_prefix (const char *orig_prefix, - const char *curr_prefix); - - diff --git a/vcpkg/overlay/libiconv/0004-ModuleFileName.patch b/vcpkg/overlay/libiconv/0004-ModuleFileName.patch deleted file mode 100644 index 15ceb2a411..0000000000 --- a/vcpkg/overlay/libiconv/0004-ModuleFileName.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/lib/relocatable.c b/lib/relocatable.c -index 89b6c27..1561894 100644 ---- a/lib/relocatable.c -+++ b/lib/relocatable.c -@@ -329,7 +329,7 @@ DllMain (HINSTANCE module_handle, DWORD event, LPVOID reserved) - /* The DLL is being loaded into an application's address range. */ - static char location[MAX_PATH]; - -- if (!GetModuleFileName (module_handle, location, sizeof (location))) -+ if (!GetModuleFileNameA (module_handle, location, sizeof (location))) - /* Shouldn't happen. */ - return FALSE; - diff --git a/vcpkg/overlay/libiconv/portfile.cmake b/vcpkg/overlay/libiconv/portfile.cmake deleted file mode 100644 index 8bf88682cc..0000000000 --- a/vcpkg/overlay/libiconv/portfile.cmake +++ /dev/null @@ -1,53 +0,0 @@ -if(NOT VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_ANDROID AND NOT VCPKG_TARGET_IS_IOS) - set(VCPKG_POLICY_EMPTY_PACKAGE enabled) - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/share/iconv") - file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/iconv") - return() -endif() - -set(LIBICONV_VERSION 1.16) - -vcpkg_download_distfile(ARCHIVE - URLS "https://ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" "https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/libiconv/libiconv-${LIBICONV_VERSION}.tar.gz" - FILENAME "libiconv-${LIBICONV_VERSION}.tar.gz" - SHA512 365dac0b34b4255a0066e8033a8b3db4bdb94b9b57a9dca17ebf2d779139fe935caf51a465d17fd8ae229ec4b926f3f7025264f37243432075e5583925bb77b7 -) -vcpkg_extract_source_archive_ex( - OUT_SOURCE_PATH SOURCE_PATH - ARCHIVE ${ARCHIVE} - REF ${LIBICONV_VERSION} - PATCHES - 0002-Config-for-MSVC.patch - 0003-Add-export.patch - 0004-ModuleFileName.patch -) - -if (NOT VCPKG_TARGET_IS_ANDROID) - list(APPEND OPTIONS --enable-relocatable) -endif() - -vcpkg_configure_make( - SOURCE_PATH "${SOURCE_PATH}" - DETERMINE_BUILD_TRIPLET - USE_WRAPPERS - OPTIONS - --enable-extra-encodings - --without-libiconv-prefix - --without-libintl-prefix - ${OPTIONS} -) -vcpkg_install_make() - -vcpkg_copy_pdbs() -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/bin") -vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/bin") - -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/iconv") - -set(VCPKG_POLICY_ALLOW_RESTRICTED_HEADERS enabled) -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/${PORT}") # share contains unneeded doc files - -# Please keep, the default usage is broken -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/COPYING.LIB" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/overlay/libiconv/usage b/vcpkg/overlay/libiconv/usage deleted file mode 100644 index db47c33e81..0000000000 --- a/vcpkg/overlay/libiconv/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package libiconv provides CMake targets: - - find_package(Iconv) - target_link_libraries(main PRIVATE Iconv::Iconv) diff --git a/vcpkg/overlay/libiconv/vcpkg-cmake-wrapper.cmake b/vcpkg/overlay/libiconv/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index 8e25449ae2..0000000000 --- a/vcpkg/overlay/libiconv/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,21 +0,0 @@ -include(SelectLibraryConfigurations) - -_find_package(${ARGS}) -if(Iconv_FOUND AND NOT Iconv_IS_BUILT_IN) - find_path(CHARSET_INCLUDE_DIR NAMES "libcharset.h" HINTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/include") - find_library(CHARSET_LIBRARY_DEBUG NAMES charsetd libcharsetd charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib HINTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug") - find_library(CHARSET_LIBRARY_RELEASE NAMES charset libcharset NAMES_PER_DIR PATH_SUFFIXES lib HINTS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}") - select_library_configurations(CHARSET) - if(NOT TARGET Iconv::Charset) - add_library(Iconv::Charset INTERFACE IMPORTED) - set_target_properties(Iconv::Charset PROPERTIES - INTERFACE_LINK_LIBRARIES "\$<\$>:${CHARSET_LIBRARY_RELEASE}>;\$<\$:${CHARSET_LIBRARY_DEBUG}>" - INTERFACE_INCLUDE_DIRECTORIES "${CHARSET_INCLUDE_DIRS}") - endif() - if(CHARSET_LIBRARIES) - list(APPEND Iconv_LIBRARIES ${CHARSET_LIBRARIES}) - if(TARGET Iconv::Iconv) - set_property(TARGET Iconv::Iconv APPEND PROPERTY INTERFACE_LINK_LIBRARIES Iconv::Charset) - endif() - endif() -endif() diff --git a/vcpkg/overlay/libiconv/vcpkg.json b/vcpkg/overlay/libiconv/vcpkg.json deleted file mode 100644 index b567aee18b..0000000000 --- a/vcpkg/overlay/libiconv/vcpkg.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "libiconv", - "version": "1.16", - "port-version": 13, - "description": "GNU Unicode text conversion", - "homepage": "https://www.gnu.org/software/libiconv/" -} diff --git a/vcpkg/overlay/qtpositioning/devendor-poly2tri.patch b/vcpkg/overlay/qtpositioning/devendor-poly2tri.patch deleted file mode 100644 index 85e18ca986..0000000000 --- a/vcpkg/overlay/qtpositioning/devendor-poly2tri.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff --color -Naur a/src/3rdparty/clip2tri/CMakeLists.txt b/src/3rdparty/clip2tri/CMakeLists.txt ---- a/src/3rdparty/clip2tri/CMakeLists.txt 2023-05-13 16:59:42.377052155 +0200 -+++ b/src/3rdparty/clip2tri/CMakeLists.txt 2023-05-13 23:05:44.950379088 +0200 -@@ -4,6 +4,7 @@ - ## Bundled_Clip2Tri Generic Library: - ##################################################################### - -+find_package(poly2tri) - qt_internal_add_3rdparty_library(Bundled_Clip2Tri - QMAKE_LIB_NAME _clip2tri - STATIC -@@ -13,11 +14,12 @@ - clip2tri.cpp clip2tri.h - INCLUDE_DIRECTORIES - ../clipper -- ../poly2tri - LIBRARIES - Qt::Bundled_Clipper # special case -- Qt::Bundled_Poly2Tri # special case -+ poly2tri::poly2tri - ) -+target_link_libraries(Bundled_Clip2Tri PRIVATE poly2tri::poly2tri) -+set_target_properties(poly2tri::poly2tri PROPERTIES INTERFACE_QT_PACKAGE_NAME poly2tri) - qt_disable_warnings(Bundled_Clip2Tri) - qt_set_symbol_visibility_hidden(Bundled_Clip2Tri) - -diff --color -Naur a/src/CMakeLists.txt b/src/CMakeLists.txt ---- a/src/CMakeLists.txt 2023-05-13 16:59:42.379052157 +0200 -+++ b/src/CMakeLists.txt 2023-05-13 17:00:19.256085781 +0200 -@@ -2,7 +2,6 @@ - # SPDX-License-Identifier: BSD-3-Clause - - # special case begin --add_subdirectory(3rdparty/poly2tri) - add_subdirectory(3rdparty/clipper) - add_subdirectory(3rdparty/clip2tri) - add_subdirectory(positioning) diff --git a/vcpkg/overlay/qtpositioning/portfile.cmake b/vcpkg/overlay/qtpositioning/portfile.cmake deleted file mode 100644 index dc9da8a1d0..0000000000 --- a/vcpkg/overlay/qtpositioning/portfile.cmake +++ /dev/null @@ -1,22 +0,0 @@ -set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") -include("${SCRIPT_PATH}/qt_install_submodule.cmake") - -set(${PORT}_PATCHES - devendor-poly2tri.patch) - -vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS -FEATURES - "qml" CMAKE_REQUIRE_FIND_PACKAGE_Qt6Quick -INVERTED_FEATURES - "qml" CMAKE_DISABLE_FIND_PACKAGE_Qt6Quick -) - -list(APPEND FEATURE_OPTIONS "-DCMAKE_DISABLE_FIND_PACKAGE_Gypsy=ON" - "-DCMAKE_DISABLE_FIND_PACKAGE_Gconf=ON" -) - -qt_install_submodule(PATCHES ${${PORT}_PATCHES} - CONFIGURE_OPTIONS ${FEATURE_OPTIONS} - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG - ) diff --git a/vcpkg/overlay/qtpositioning/vcpkg.json b/vcpkg/overlay/qtpositioning/vcpkg.json deleted file mode 100644 index 1982fa2e3a..0000000000 --- a/vcpkg/overlay/qtpositioning/vcpkg.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "qtpositioning", - "version": "6.6.1", - "description": "Qt Positioning", - "homepage": "https://www.qt.io/", - "license": null, - "dependencies": [ - "poly2tri", - { - "name": "qtbase", - "default-features": false - }, - { - "name": "qtserialport", - "default-features": false, - "platform": "!ios" - } - ], - "features": { - "qml": { - "description": "Build QML imports", - "dependencies": [ - { - "name": "qtdeclarative", - "default-features": false - } - ] - } - } -} diff --git a/vcpkg/overlay/qtserialport/portfile.cmake b/vcpkg/overlay/qtserialport/portfile.cmake deleted file mode 100644 index 1a3a6f1bfe..0000000000 --- a/vcpkg/overlay/qtserialport/portfile.cmake +++ /dev/null @@ -1,10 +0,0 @@ -set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase") -include("${SCRIPT_PATH}/qt_install_submodule.cmake") - -set(${PORT}_PATCHES) - -qt_install_submodule(PATCHES ${${PORT}_PATCHES} - CONFIGURE_OPTIONS - CONFIGURE_OPTIONS_RELEASE - CONFIGURE_OPTIONS_DEBUG - ) diff --git a/vcpkg/overlay/qtserialport/vcpkg.json b/vcpkg/overlay/qtserialport/vcpkg.json deleted file mode 100644 index 0e37f023e3..0000000000 --- a/vcpkg/overlay/qtserialport/vcpkg.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "name": "qtserialport", - "version": "6.6.1", - "description": "Qt Serial Port support", - "homepage": "https://www.qt.io/", - "license": null, - "dependencies": [ - { - "name": "qtbase", - "default-features": false - } - ], - "supports": "!ios" -}