aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt3
-rw-r--r--cmake/modules/FindFFMPEG.cmake4
-rw-r--r--tools/depends/target/ffmpeg/CMakeLists.txt12
3 files changed, 17 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index bc9b96240d..5227b77d58 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -171,9 +171,10 @@ set(dyload_optional Bluray
find_package(TexturePacker REQUIRED)
find_package(JsonSchemaBuilder REQUIRED)
-core_require_dep(${required_deps})
+# Check optional deps first, since their availability can influence required ones, e.g. ffmpeg
core_optional_dep(${optional_deps})
core_optional_dyload_dep(${dyload_optional})
+core_require_dep(${required_deps})
if(ENABLE_MARIADBCLIENT AND NOT ENABLE_MARIADBCLIENT STREQUAL AUTO AND ENABLE_MYSQLCLIENT AND NOT ENABLE_MYSQLCLIENT STREQUAL AUTO)
MESSAGE(FATAL_ERROR "You can not use MySql and MariaDB at the same time. Disable one by adding -DENABLE_MYSQLCLIENT=OFF or -DENABLE_MARIADBCLIENT=OFF.")
diff --git a/cmake/modules/FindFFMPEG.cmake b/cmake/modules/FindFFMPEG.cmake
index f90f912d9e..7f34505bd4 100644
--- a/cmake/modules/FindFFMPEG.cmake
+++ b/cmake/modules/FindFFMPEG.cmake
@@ -229,6 +229,9 @@ if(NOT FFMPEG_FOUND)
message(STATUS "FFMPEG_URL: ${FFMPEG_URL}")
endif()
+ set(FFMPEG_OPTIONS -DENABLE_VAAPI=${ENABLE_VAAPI}
+ -DENABLE_VDPAU=${ENABLE_VDPAU})
+
if(KODI_DEPENDSBUILD)
set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH}
-DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE}
@@ -259,6 +262,7 @@ if(NOT FFMPEG_FOUND)
-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
-DCMAKE_EXE_LINKER_FLAGS=${LINKER_FLAGS}
${CROSS_ARGS}
+ ${FFMPEG_OPTIONS}
PATCH_COMMAND ${CMAKE_COMMAND} -E copy
${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/CMakeLists.txt
<SOURCE_DIR> &&
diff --git a/tools/depends/target/ffmpeg/CMakeLists.txt b/tools/depends/target/ffmpeg/CMakeLists.txt
index 9df273de09..1a16000d5f 100644
--- a/tools/depends/target/ffmpeg/CMakeLists.txt
+++ b/tools/depends/target/ffmpeg/CMakeLists.txt
@@ -53,7 +53,17 @@ if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd)
if(CORE_PLATFORM_NAME STREQUAL rbpi)
list(APPEND ffmpeg_conf --cpu=${CPU} --disable-vaapi --disable-vdpau)
else()
- list(APPEND ffmpeg_conf --enable-vdpau --enable-vaapi --enable-pic)
+ list(APPEND ffmpeg_conf --enable-pic)
+ if(ENABLE_VAAPI)
+ list(APPEND ffmpeg_conf --enable-vaapi)
+ else()
+ list(APPEND ffmpeg_conf --disable-vaapi)
+ endif()
+ if(ENABLE_VDPAU)
+ list(APPEND ffmpeg_conf --enable-vdpau)
+ else()
+ list(APPEND ffmpeg_conf --disable-vdpau)
+ endif()
endif()
elseif(CORE_SYSTEM_NAME STREQUAL android)
if(CPU MATCHES arm64)