aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2025-07-30 07:06:50 +0200
committercrueter <crueter@eden-emu.dev>2025-07-30 07:06:50 +0200
commit43f450499ca0824dc0b4ee2ebba4415b9e982432 (patch)
tree4a55a9f3b43ece82282be291ebf1776b62322cfe
parentdee960ccd9a02862583263a23da7e0db2a66566b (diff)
[cmake] ffmpeg: use CPM and source archive (#155)
Cherry-picked from refactor/cpm. Dramatically reduces download time Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/155
-rw-r--r--.gitmodules3
-rw-r--r--CMakeLists.txt2
-rw-r--r--externals/CMakeLists.txt2
-rw-r--r--externals/ffmpeg/CMakeLists.txt13
m---------externals/ffmpeg/ffmpeg0
-rw-r--r--src/yuzu/externals/CMakeLists.txt1
6 files changed, 13 insertions, 8 deletions
diff --git a/.gitmodules b/.gitmodules
index c8fcad98ec..10f9f7de96 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -19,9 +19,6 @@
[submodule "cpp-httplib"]
path = externals/cpp-httplib
url = https://github.com/yhirose/cpp-httplib.git
-[submodule "ffmpeg"]
- path = externals/ffmpeg/ffmpeg
- url = https://github.com/FFmpeg/FFmpeg.git
[submodule "vcpkg"]
path = externals/vcpkg
url = https://github.com/microsoft/vcpkg.git
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b9d19b3c1b..0c2a880ae0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -491,6 +491,8 @@ set(FFmpeg_COMPONENTS
avutil
swscale)
+set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
+
add_subdirectory(externals)
if (ENABLE_QT)
diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt
index ecc6d9dbab..cd7b80a33c 100644
--- a/externals/CMakeLists.txt
+++ b/externals/CMakeLists.txt
@@ -83,8 +83,6 @@ if (YUZU_USE_EXTERNAL_SDL2)
set(SDL_FILE ON)
endif()
- set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
-
include(CPM)
set(CPM_USE_LOCAL_PACKAGES OFF)
diff --git a/externals/ffmpeg/CMakeLists.txt b/externals/ffmpeg/CMakeLists.txt
index 9eb71418a0..3222efba70 100644
--- a/externals/ffmpeg/CMakeLists.txt
+++ b/externals/ffmpeg/CMakeLists.txt
@@ -19,8 +19,17 @@ if (NOT WIN32 AND NOT ANDROID)
message(FATAL_ERROR "Required program `autoconf` not found.")
endif()
- set(FFmpeg_PREFIX ${PROJECT_SOURCE_DIR}/externals/ffmpeg/ffmpeg)
- set(FFmpeg_BUILD_DIR ${PROJECT_BINARY_DIR}/externals/ffmpeg-build)
+ include(CPM)
+ set(CPM_USE_LOCAL_PACKAGES OFF)
+
+ CPMAddPackage(
+ NAME ffmpeg
+ URL "https://github.com/ffmpeg/ffmpeg/archive/9c1294eadd.zip"
+ URL_HASH SHA512=2076e4cb843787c44718c70c4452517273dbc963ef98442f343762ade6c7b9f78555ae9b50a7c628844a15d8cb5e866c04e2f1acfb77093cea4fbc9edf3ad21a
+ )
+
+ set(FFmpeg_PREFIX ${ffmpeg_SOURCE_DIR})
+ set(FFmpeg_BUILD_DIR ${ffmpeg_BINARY_DIR})
set(FFmpeg_MAKEFILE ${FFmpeg_BUILD_DIR}/Makefile)
make_directory(${FFmpeg_BUILD_DIR})
diff --git a/externals/ffmpeg/ffmpeg b/externals/ffmpeg/ffmpeg
deleted file mode 160000
-Subproject 9c1294eaddb88cb0e044c675ccae059a85fc9c6
diff --git a/src/yuzu/externals/CMakeLists.txt b/src/yuzu/externals/CMakeLists.txt
index d606e27108..23ddbfa6be 100644
--- a/src/yuzu/externals/CMakeLists.txt
+++ b/src/yuzu/externals/CMakeLists.txt
@@ -6,7 +6,6 @@ set(BUILD_SHARED_LIBS OFF)
# QuaZip
include(CPM)
-set(CPM_SOURCE_CACHE ${CMAKE_SOURCE_DIR}/.cache/cpm)
set(CPM_USE_LOCAL_PACKAGES ON)
CPMAddPackage(