Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'build_files')
-rwxr-xr-xbuild_files/build_environment/install_deps.sh80
-rw-r--r--build_files/cmake/Modules/FindFFmpeg.cmake6
-rw-r--r--build_files/cmake/platform/platform_apple.cmake1
-rw-r--r--build_files/cmake/platform/platform_unix.cmake36
4 files changed, 26 insertions, 97 deletions
diff --git a/build_files/build_environment/install_deps.sh b/build_files/build_environment/install_deps.sh
index c38973b274f..bf24c3ef285 100755
--- a/build_files/build_environment/install_deps.sh
+++ b/build_files/build_environment/install_deps.sh
@@ -3620,8 +3620,8 @@ compile_FFmpeg() {
fi
./configure --cc="gcc -Wl,--as-needed" \
- --extra-ldflags="-pthread -static-libgcc" \
- --prefix=$_inst --enable-static \
+ --extra-ldflags="-pthread" \
+ --prefix=$_inst --enable-shared \
--disable-ffplay --disable-doc \
--enable-gray \
--enable-avfilter --disable-vdpau \
@@ -5721,76 +5721,6 @@ install_OTHER() {
# ----------------------------------------------------------------------------
# Printing User Info
-print_info_ffmpeglink_DEB() {
- dpkg -L $_packages | grep -e ".*\/lib[^\/]\+\.so" | gawk '{ printf(nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\\1", "g", $0)); nlines++ }'
-}
-
-print_info_ffmpeglink_RPM() {
- rpm -ql $_packages | grep -e ".*\/lib[^\/]\+\.so" | gawk '{ printf(nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\\1", "g", $0)); nlines++ }'
-}
-
-print_info_ffmpeglink_ARCH() {
- pacman -Ql $_packages | grep -e ".*\/lib[^\/]\+\.so$" | gawk '{ printf(nlines ? "'"$_ffmpeg_list_sep"'%s" : "%s", gensub(/.*lib([^\/]+)\.so/, "\\1", "g", $0)); nlines++ }'
-}
-
-print_info_ffmpeglink() {
- # This func must only print a ';'-separated list of libs...
- if [ -z "$DISTRO" ]; then
- ERROR "Failed to detect distribution type"
- exit 1
- fi
-
- # Create list of packages from which to get libs names...
- _packages=""
-
- if [ "$THEORA_USE" = true ]; then
- _packages="$_packages $THEORA_DEV"
- fi
-
- if [ "$VORBIS_USE" = true ]; then
- _packages="$_packages $VORBIS_DEV"
- fi
-
- if [ "$OGG_USE" = true ]; then
- _packages="$_packages $OGG_DEV"
- fi
-
- if [ "$XVID_USE" = true ]; then
- _packages="$_packages $XVID_DEV"
- fi
-
- if [ "$VPX_USE" = true ]; then
- _packages="$_packages $VPX_DEV"
- fi
-
- if [ "$OPUS_USE" = true ]; then
- _packages="$_packages $OPUS_DEV"
- fi
-
- if [ "$MP3LAME_USE" = true ]; then
- _packages="$_packages $MP3LAME_DEV"
- fi
-
- if [ "$X264_USE" = true ]; then
- _packages="$_packages $X264_DEV"
- fi
-
- if [ "$OPENJPEG_USE" = true ]; then
- _packages="$_packages $OPENJPEG_DEV"
- fi
-
- if [ "$DISTRO" = "DEB" ]; then
- print_info_ffmpeglink_DEB
- elif [ "$DISTRO" = "RPM" ]; then
- print_info_ffmpeglink_RPM
- elif [ "$DISTRO" = "ARCH" ]; then
- print_info_ffmpeglink_ARCH
- # XXX TODO!
- else
- PRINT "<Could not determine additional link libraries needed for ffmpeg, replace this by valid list of libs...>"
- fi
-}
-
print_info() {
PRINT ""
PRINT ""
@@ -6002,12 +5932,10 @@ print_info() {
if [ "$FFMPEG_SKIP" = false ]; then
_1="-D WITH_CODEC_FFMPEG=ON"
- _2="-D FFMPEG_LIBRARIES='avformat;avcodec;avutil;avdevice;swscale;swresample;lzma;rt;`print_info_ffmpeglink`'"
PRINT " $_1"
- PRINT " $_2"
- _buildargs="$_buildargs $_1 $_2"
+ _buildargs="$_buildargs $_1"
if [ -d $INST/ffmpeg ]; then
- _1="-D FFMPEG=$INST/ffmpeg"
+ _1="-D FFMPEG_ROOT_DIR=$INST/ffmpeg"
PRINT " $_1"
_buildargs="$_buildargs $_1"
fi
diff --git a/build_files/cmake/Modules/FindFFmpeg.cmake b/build_files/cmake/Modules/FindFFmpeg.cmake
index 0765c1dc901..5f506a33e13 100644
--- a/build_files/cmake/Modules/FindFFmpeg.cmake
+++ b/build_files/cmake/Modules/FindFFmpeg.cmake
@@ -33,6 +33,8 @@ if(NOT FFMPEG_FIND_COMPONENTS)
avfilter
avformat
avutil
+ swscale
+ swresample
)
endif()
@@ -50,9 +52,9 @@ foreach(_component ${FFMPEG_FIND_COMPONENTS})
string(TOUPPER ${_component} _upper_COMPONENT)
find_library(FFMPEG_${_upper_COMPONENT}_LIBRARY
NAMES
- ${_upper_COMPONENT}
+ ${_component}
HINTS
- ${LIBDIR}/ffmpeg
+ ${_ffmpeg_SEARCH_DIRS}
PATH_SUFFIXES
lib64 lib
)
diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake
index 15bd02230c3..929be0c93f7 100644
--- a/build_files/cmake/platform/platform_apple.cmake
+++ b/build_files/cmake/platform/platform_apple.cmake
@@ -173,6 +173,7 @@ if(WITH_IMAGE_OPENEXR)
endif()
if(WITH_CODEC_FFMPEG)
+ set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg)
set(FFMPEG_FIND_COMPONENTS
avcodec avdevice avformat avutil
mp3lame ogg opus swresample swscale
diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake
index 0aaec3083a3..dce78fb0c8e 100644
--- a/build_files/cmake/platform/platform_unix.cmake
+++ b/build_files/cmake/platform/platform_unix.cmake
@@ -178,26 +178,24 @@ endif()
if(WITH_CODEC_FFMPEG)
if(EXISTS ${LIBDIR})
- # For precompiled lib directory, all ffmpeg dependencies are in the same folder
- file(GLOB ffmpeg_libs ${LIBDIR}/ffmpeg/lib/*.a ${LIBDIR}/sndfile/lib/*.a)
- set(FFMPEG ${LIBDIR}/ffmpeg CACHE PATH "FFMPEG Directory")
- set(FFMPEG_LIBRARIES ${ffmpeg_libs} ${ffmpeg_libs} CACHE STRING "FFMPEG Libraries")
- else()
- set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
- set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
+ set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg)
+ # Override FFMPEG components to also include static library dependencies.
+ # included with precompiled libraries.
+ set(FFMPEG_FIND_COMPONENTS
+ avcodec avdevice avformat avutil
+ mp3lame ogg opus swresample swscale
+ theora theoradec theoraenc vorbis vorbisenc
+ vorbisfile vpx x264 xvidcore)
+ elseif(FFMPEG)
+ # Old cache variable used for root dir, convert to new standard.
+ set(FFMPEG_ROOT_DIR ${FFMPEG})
+ endif()
+ find_package(FFmpeg)
+
+ if(NOT FFMPEG_FOUND)
+ set(WITH_CODEC_FFMPEG OFF)
+ message(STATUS "FFmpeg not found, disabling it")
endif()
-
- mark_as_advanced(FFMPEG)
-
- # lame, but until we have proper find module for ffmpeg
- set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
- if(EXISTS "${FFMPEG}/include/ffmpeg/")
- list(APPEND FFMPEG_INCLUDE_DIRS "${FFMPEG}/include/ffmpeg")
- endif()
- # end lameness
-
- mark_as_advanced(FFMPEG_LIBRARIES)
- set(FFMPEG_LIBPATH ${FFMPEG}/lib)
endif()
if(WITH_FFTW3)