From 63f61b90864fbef99b0e0ebb648edd34aeee12c1 Mon Sep 17 00:00:00 2001 From: Cole Munz Date: Thu, 9 Jul 2026 21:11:09 -0500 Subject: [PATCH] faad2: build from git with cmake instead of bootstrapping the tarball Review feedback on the 2.10.1 bump: the autotools bootstrap step won't work on Windows. faad2 gained CMake support in 2.11.0, so fetch the repo at 2.11.2 and build it the same way as opus and hidapi. FAAD_BUILD_CLI=OFF skips the frontend executable; only libfaad is needed. --- external/CMakeLists.txt | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt index 4c0c87196..2aeb0d8ba 100644 --- a/external/CMakeLists.txt +++ b/external/CMakeLists.txt @@ -302,14 +302,14 @@ endif (NOT ZLIB_FOUND AND NOT USE_PRECOMPILED_LIBS) if (NOT FAAD_FOUND AND NOT USE_PRECOMPILED_LIBS) # faad2 2.8.8 is the last version SourceForge ever hosted, and it predates the 2.9.0 fix # for a heap overflow in excluded_channels() (knik0/faad2@942c3e0a: unbounded exclude_mask - # write in the DRC parser). Later releases only live on GitHub, whose source archives don't - # include a pre-built configure script (only configure.ac), so bootstrap it first -- same - # reason libusb above fetches a release tarball instead of a bare git checkout. + # write in the DRC parser). Later releases only live on GitHub; 2.11.0 added CMake support, + # so build it like opus above. FAAD_BUILD_CLI=OFF skips the faad frontend executable -- + # only libfaad is used. ExternalProject_Add(faad - URL https://github.com/knik0/faad2/archive/refs/tags/2.10.1.tar.gz + GIT_REPOSITORY https://github.com/knik0/faad2.git + GIT_TAG 2.11.2 PREFIX "${EXTERNAL_BUILD_LIBRARIES}/faad" - PATCH_COMMAND /bootstrap - CONFIGURE_COMMAND /configure --prefix= + CMAKE_ARGS ${COMMON_CMAKE_ARGS} -DBUILD_SHARED_LIBS=ON -DFAAD_BUILD_CLI=OFF -DCMAKE_INSTALL_PREFIX= TEST_COMMAND "" ) ExternalProject_Get_Property(faad source_dir binary_dir install_dir)