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:
-rw-r--r--CMakeLists.txt33
-rw-r--r--build_files/scons/config/linux-config.py36
2 files changed, 61 insertions, 8 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3b328669e48..b8f7605875f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -361,6 +361,19 @@ if(UNIX AND NOT APPLE)
set(CMAKE_LIBRARY_PATH "/usr/lib/x86_64-linux-gnu;${CMAKE_LIBRARY_PATH}")
endif()
+ # set lib directory if it exists
+ if(CMAKE_SYSTEM_NAME MATCHES "Linux")
+ if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+ set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/linux64)
+ else()
+ set(LIBDIR ${CMAKE_SOURCE_DIR}/../lib/linux)
+ endif()
+
+ if(NOT EXISTS ${LIBDIR})
+ unset(LIBDIR)
+ endif()
+ endif()
+
find_package(JPEG REQUIRED)
find_package(PNG REQUIRED)
find_package(ZLIB REQUIRED)
@@ -435,10 +448,17 @@ if(UNIX AND NOT APPLE)
endif()
if(WITH_CODEC_FFMPEG)
- set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
+ # use lib dir if available and nothing else specified
+ if(LIBDIR AND NOT FFMPEG)
+ set(FFMPEG ${LIBDIR}/ffmpeg CACHE PATH "FFMPEG Directory")
+ set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale dirac_encoder mp3lame ogg orc-0.4 schroedinger-1.0 theora theoraenc theoradec vorbis vorbisenc vpx x264 xvidcore faad asound CACHE STRING "FFMPEG Libraries")
+ else()
+ set(FFMPEG /usr CACHE PATH "FFMPEG Directory")
+ set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
+ endif()
+
mark_as_advanced(FFMPEG)
set(FFMPEG_INCLUDE_DIRS ${FFMPEG}/include)
- set(FFMPEG_LIBRARIES avformat avcodec avutil avdevice swscale CACHE STRING "FFMPEG Libraries")
mark_as_advanced(FFMPEG_LIBRARIES)
set(FFMPEG_LIBPATH ${FFMPEG}/lib)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D__STDC_CONSTANT_MACROS")
@@ -504,6 +524,10 @@ if(UNIX AND NOT APPLE)
endif()
if(WITH_BOOST)
+ # use lib dir if available and nothing else specified
+ if(LIBDIR AND NOT BOOST_ROOT)
+ set(BOOST_ROOT ${LIBDIR}/boost)
+ endif()
# uses in build instructions to override include and library variables
if(NOT BOOST_CUSTOM)
@@ -519,6 +543,11 @@ if(UNIX AND NOT APPLE)
endif()
if(WITH_OPENIMAGEIO)
+ # use lib dir if available and nothing else specified
+ if(LIBDIR AND NOT OPENIMAGEIO_ROOT_DIR)
+ set(OPENIMAGEIO_ROOT_DIR ${LIBDIR}/openimageio)
+ endif()
+
find_package(OpenImageIO)
set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARIES} ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES} ${BOOST_LIBRARIES})
diff --git a/build_files/scons/config/linux-config.py b/build_files/scons/config/linux-config.py
index 1ac1db62a28..4921ab50595 100644
--- a/build_files/scons/config/linux-config.py
+++ b/build_files/scons/config/linux-config.py
@@ -1,5 +1,12 @@
-LCGDIR = '../lib/linux'
-LIBDIR = "${LCGDIR}"
+# find library directory
+import platform
+import os
+bitness = platform.architecture()[0]
+if bitness == '64bit':
+ LCGDIR = '../lib/linux64'
+else:
+ LCGDIR = '../lib/linux'
+LIBDIR = "#${LCGDIR}"
BF_PYTHON_ABI_FLAGS = 'm' # Most common for linux distros
BF_PYTHON = '/usr'
@@ -113,7 +120,18 @@ WITH_BF_BINRELOC = True
# enable ffmpeg support
WITH_BF_FFMPEG = True # -DWITH_FFMPEG
-BF_FFMPEG = '/usr'
+BF_FFMPEG = LIBDIR + '/ffmpeg'
+if os.path.exists(LCGDIR + '/ffmpeg'):
+ WITH_BF_STATICFFMPEG = True
+ BF_FFMPEG_LIB_STATIC = '${BF_FFMPEG_LIBPATH}/libavformat.a ${BF_FFMPEG_LIBPATH}/libswscale.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libavcodec.a ${BF_FFMPEG_LIBPATH}/libavdevice.a ${BF_FFMPEG_LIBPATH}/libavutil.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libxvidcore.a ${BF_FFMPEG_LIBPATH}/libx264.a ${BF_FFMPEG_LIBPATH}/libmp3lame.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libvpx.a ${BF_FFMPEG_LIBPATH}/libvorbis.a ${BF_FFMPEG_LIBPATH}/libogg.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libvorbisenc.a ${BF_FFMPEG_LIBPATH}/libtheora.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libschroedinger-1.0.a ${BF_FFMPEG_LIBPATH}/liborc-0.4.a ${BF_FFMPEG_LIBPATH}/libdirac_encoder.a ' + \
+ '${BF_FFMPEG_LIBPATH}/libfaad.a'
+else:
+ BF_FFMPEG = '/usr'
BF_FFMPEG_LIB = 'avformat avcodec swscale avutil avdevice'
BF_FFMPEG_INC = '${BF_FFMPEG}/include'
BF_FFMPEG_LIBPATH='${BF_FFMPEG}/lib'
@@ -178,20 +196,26 @@ BF_JEMALLOC_LIBPATH = '${BF_JEMALLOC}/lib'
BF_JEMALLOC_LIB = 'jemalloc'
BF_JEMALLOC_LIB_STATIC = '${BF_JEMALLOC_LIBPATH}/libjemalloc.a'
-WITH_BF_CYCLES = False
-
-WITH_BF_OIIO = True
+WITH_BF_OIIO = True
BF_OIIO = LIBDIR + '/openimageio'
+if not os.path.exists(LCGDIR + '/openimageio'):
+ WITH_BF_OIIO = False
+ BF_OIIO = '/usr'
BF_OIIO_INC = BF_OIIO + '/include'
BF_OIIO_LIB = 'OpenImageIO'
BF_OIIO_LIBPATH = BF_OIIO + '/lib'
WITH_BF_BOOST = True
BF_BOOST = LIBDIR + '/boost'
+if not os.path.exists(LCGDIR + '/boost'):
+ WITH_BF_BOOST = False
+ BF_BOOST = '/usr'
BF_BOOST_INC = BF_BOOST + '/include'
BF_BOOST_LIB = 'boost_date_time-mt boost_filesystem-mt boost_regex-mt boost_system-mt boost_thread-mt'
BF_BOOST_LIBPATH = BF_BOOST + '/lib'
+WITH_BF_CYCLES = WITH_BF_OIIO and WITH_BF_BOOST
+
WITH_BF_OPENMP = True
#Ray trace optimization