diff options
-rw-r--r-- | CMakeLists.txt | 3 | ||||
-rw-r--r-- | cmake/modules/FindFFMPEG.cmake | 4 | ||||
-rw-r--r-- | tools/depends/target/ffmpeg/CMakeLists.txt | 12 |
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) |