» Blender 2.57 (API Docs + Contrib).7z
Updated 06:46 May 3rd, 2011
Be thankful, comment
(1802)  1,902

Update log:

03 May 2011 - Updated to latest Blender SVN 36463

 

My Blender ldd command output showing which libraries it is linked with:

    linux-gate.so.1 =>  (0x00d0b000)
    libGL.so.1 => /usr/lib/libGL.so.1 (0x00263000)
    libGLU.so.1 => /usr/lib/libGLU.so.1 (0x0062b000)
    libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x07ef2000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00502000)
    libz.so.1 => /lib/libz.so.1 (0x00d7a000)
    libutil.so.1 => /lib/libutil.so.1 (0x00b13000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x00d26000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0600e000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x0037f000)
    libXi.so.6 => /usr/lib/libXi.so.6 (0x0060a000)
    libdl.so.2 => /lib/libdl.so.2 (0x00d1f000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0053f000)
    libopenal.so.1 => /usr/lib/libopenal.so.1 (0x00110000)
    libfftw3.so.3 => /usr/lib/libfftw3.so.3 (0x03d3c000)
    libjack.so.0 => /usr/lib/libjack.so.0 (0x00947000)
    libsndfile.so.1 => /usr/lib/libsndfile.so.1 (0x07b7a000)
    libsamplerate.so.0 => /usr/lib/libsamplerate.so.0 (0x07c8e000)
    libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x0724f000)
    libtiff.so.3 => /usr/lib/libtiff.so.3 (0x0080f000)
    libHalf.so.6 => /usr/lib/libHalf.so.6 (0x00161000)
    libIlmImf.so.6 => /usr/lib/libIlmImf.so.6 (0x00692000)
    libIex.so.6 => /usr/lib/libIex.so.6 (0x00a31000)
    libImath.so.6 => /usr/lib/libImath.so.6 (0x00a54000)
    libopenjpeg.so.2 => /usr/lib/libopenjpeg.so.2 (0x00ae2000)
    libavformat.so.52 => /usr/lib/libavformat.so.52 (0x00b91000)
    libavcodec.so.52 => /usr/lib/libavcodec.so.52 (0x0426d000)
    libavutil.so.50 => /usr/lib/libavutil.so.50 (0x004d8000)
    libavdevice.so.52 => /usr/lib/libavdevice.so.52 (0x001c0000)
    libswscale.so.0 => /usr/lib/libswscale.so.0 (0x001cc000)
    libpcre.so.0 => /lib/libpcre.so.0 (0x002df000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x063f0000)
    libexpat.so.1 => /lib/libexpat.so.1 (0x00230000)
    libc.so.6 => /lib/libc.so.6 (0x00d8f000)
    libm.so.6 => /lib/libm.so.6 (0x00d43000)
    libgomp.so.1 => /usr/lib/libgomp.so.1 (0x008ff000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00319000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0x0052c000)
    libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00626000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x001a4000)
    libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x00add000)
    libdrm.so.2 => /usr/lib/libdrm.so.2 (0x0036d000)
    /lib/ld-linux.so.2 (0x00b72000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x004b8000)
    librt.so.1 => /lib/librt.so.1 (0x00d6f000)
    libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x07b3b000)
    libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2 (0x079c3000)
    libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x04241000)
    libogg.so.0 => /usr/lib/libogg.so.0 (0x00ad5000)
    libIlmThread.so.6 => /usr/lib/libIlmThread.so.6 (0x00a4c000)
    librtmp.so.0 => /usr/lib/librtmp.so.0 (0x00336000)
    libbz2.so.1 => /lib/libbz2.so.1 (0x00b4b000)
    libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x03711000)
    libx264.so.102 => /usr/lib/sse2/libx264.so.102 (0x00f19000)
    libvpx.so.0 => /usr/lib/libvpx.so.0 (0x00766000)
    libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x005d1000)
    libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x001a9000)
    libspeex.so.1 => /usr/lib/libspeex.so.1 (0x0034e000)
    libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0x00fc7000)
    libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00871000)
    libgsm.so.1 => /usr/lib/libgsm.so.1 (0x004f1000)
    libdirac_encoder.so.0 => /usr/lib/libdirac_encoder.so.0 (0x00984000)
    libva-0.31.1.1.so.1 => /usr/lib/libva-0.31.1.1.so.1 (0x007e2000)
    libasound.so.2 => /lib/libasound.so.2 (0x03ac8000)
    libdc1394.so.22 => /usr/lib/libdc1394.so.22 (0x00a5b000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x001ba000)
    libgnutls.so.26 => /usr/lib/libgnutls.so.26 (0x03f80000)
    libgcrypt.so.11 => /lib/libgcrypt.so.11 (0x00c7d000)
    liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x03828000)
    libraw1394.so.11 => /usr/lib/libraw1394.so.11 (0x007f1000)
    libusb-1.0.so.0 => /usr/lib/libusb-1.0.so.0 (0x00801000)
    libtasn1.so.3 => /usr/lib/libtasn1.so.3 (0x0402b000)
    libgpg-error.so.0 => /lib/libgpg-error.so.0 (0x00b0c000


My cmake configuration options used to Build this version of Blender from SVN:

# This is the CMakeCache file.
# For build in directory: /home/terry/Blender-SVN/cmakebuildir/BLENDER
# It was generated by CMake: /usr/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUI's for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.

########################
# EXTERNAL cache entries
########################

//Value Computed by CMake
Blender_BINARY_DIR:STATIC=/home/terry/Blender-SVN/cmakebuildir/BLENDER

//Value Computed by CMake
Blender_SOURCE_DIR:STATIC=/home/terry/Blender-SVN/Blender

//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar

//No help, variable specified on the command line.
CMAKE_BUILD_TYPE:STRING=Debug

//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON

//CXX compiler.
CMAKE_CXX_COMPILER:FILEPATH=/usr/lib/ccache/c++

//Flags used by the compiler during all build types.
CMAKE_CXX_FLAGS:STRING=

//Flags used by the compiler during debug builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release minsize builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds (/MD /Ob1 /Oi
// /Ot /Oy /Gs will produce slightly less optimized but smaller
// files).
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during Release with Debug Info builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g

CMAKE_CXX_STANDARD_LIBRARIES:STRING=

//C compiler.
CMAKE_C_COMPILER:FILEPATH=/usr/lib/ccache/gcc

//Flags used by the compiler during all build types.
CMAKE_C_FLAGS:STRING=

//Flags used by the compiler during debug builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g

//Flags used by the compiler during release minsize builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG

//Flags used by the compiler during release builds (/MD /Ob1 /Oi
// /Ot /Oy /Gs will produce slightly less optimized but smaller
// files).
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG

//Flags used by the compiler during Release with Debug Info builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g

CMAKE_C_STANDARD_LIBRARIES:STRING=

//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//No help, variable specified on the command line.
CMAKE_INSTALL_PREFIX:STRING=/home/terry/Blender-SVN/Binaries/Blender-2.57-SVN36406-i386-GNU-Linux

//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld

//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake

//Flags used by the linker during the creation of modules.
CMAKE_MODULE_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm

//Path to a program.
CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy

//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump

//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=Blender

//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib

//Flags used by the linker during the creation of dll's.
CMAKE_SHARED_LINKER_FLAGS:STRING=

//Flags used by the linker during debug builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=

//Flags used by the linker during release minsize builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=

//Flags used by the linker during release builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=

//Flags used by the linker during Release with Debug Info builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=

//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO

//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip

//If true, cmake will use relative paths in makefiles and projects.
CMAKE_USE_RELATIVE_PATHS:BOOL=OFF

//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make.  This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE

//Enable to build TBZ2 source packages
CPACK_SOURCE_TBZ2:BOOL=ON

//Enable to build TGZ source packages
CPACK_SOURCE_TGZ:BOOL=ON

//Enable to build TZ source packages
CPACK_SOURCE_TZ:BOOL=ON

//Enable to build ZIP source packages
CPACK_SOURCE_ZIP:BOOL=OFF

//Expat Directory
EXPAT:FILEPATH=/usr

//FFMPEG Directory
FFMPEG:FILEPATH=/usr

//FFMPEG Libraries
FFMPEG_LIB:STRING=avformat;avcodec;avutil;avdevice;swscale

//Path to a file.
FREETYPE_INCLUDE_DIR_freetype2:PATH=/usr/include/freetype2

//Path to a file.
FREETYPE_INCLUDE_DIR_ft2build:PATH=/usr/include

//Path to a library.
FREETYPE_LIBRARY:FILEPATH=/usr/lib/libfreetype.so

//Path to a library.
ICONV_LIBRARY:FILEPATH=ICONV_LIBRARY-NOTFOUND

//Path to a library.
INTL_LIBRARY:FILEPATH=INTL_LIBRARY-NOTFOUND

//Path to a file.
JPEG_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
JPEG_LIBRARY:FILEPATH=/usr/lib/libjpeg.so

//Path to a file.
OPENAL_INCLUDE_DIR:PATH=/usr/include/AL

//Path to a library.
OPENAL_LIBRARY:FILEPATH=/usr/lib/libopenal.so

//No help, variable specified on the command line.
OPENCOLLADA:STRING=/home/terry/Blender-SVN/OpenCollada

//OPENEXR Directory
OPENEXR:FILEPATH=/usr

//Path to a file.
OPENEXR_INC:PATH=/usr/include/OpenEXR

//Path to a file.
OPENGL_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
OPENGL_gl_LIBRARY:FILEPATH=/usr/lib/libGL.so

//Path to a library.
OPENGL_glu_LIBRARY:FILEPATH=/usr/lib/libGLU.so

//Path to a file.
OPENGL_xmesa_INCLUDE_DIR:PATH=OPENGL_xmesa_INCLUDE_DIR-NOTFOUND

//C++ compiler flags for OpenMP parallization
OpenMP_CXX_FLAGS:STRING=-fopenmp

//C compiler flags for OpenMP parallization
OpenMP_C_FLAGS:STRING=-fopenmp

//PCRE Directory
PCRE:FILEPATH=/usr

//Path to a library.
PNG_LIBRARY:FILEPATH=/usr/lib/libpng.so

//Path to a file.
PNG_PNG_INCLUDE_DIR:PATH=/usr/include

//No help, variable specified on the command line.
PYTHON_INCLUDE_DIRS:STRING=/opt/python32/include/python3.2m

//No help, variable specified on the command line.
PYTHON_LIBPATH:STRING=/opt/python32/lib

//No help, variable specified on the command line.
PYTHON_LIBRARY:STRING=python3.2m

//No help, variable specified on the command line.
PYTHON_VERSION:STRING=3.2

//Path to a program.
RPMBUILD:FILEPATH=/usr/bin/rpmbuild

//Path to a library.
SDLMAIN_LIBRARY:FILEPATH=/usr/lib/libSDLmain.a

//Path to a file.
SDL_INCLUDE_DIR:PATH=/usr/include/SDL

//Where the SDL Library can be found
SDL_LIBRARY:STRING=/usr/lib/libSDLmain.a;/usr/lib/libSDL.so;-lpthread

//subversion command line client
Subversion_SVN_EXECUTABLE:FILEPATH=/usr/bin/svn

//Path to a file.
TIFF_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
TIFF_LIBRARY:FILEPATH=/usr/lib/libtiff.so

//Call abort() when raising an assertion through BLI_assert()
WITH_ASSERT_ABORT:BOOL=1

//Include extra build details (only disable for development & faster
// builds)
WITH_BUILDINFO:BOOL=ON

//Use GLEW OpenGL wrapper library bundled with blender
WITH_BUILTIN_GLEW:BOOL=ON

//Enable Bullet (Physics Engine)
WITH_BULLET:BOOL=ON

//Enable FFMPeg Support (http://ffmpeg.mplayerhq.hu)
WITH_CODEC_FFMPEG:BOOL=1

//Enable libsndfile Support (http://www.mega-nerd.com/libsndfile)
WITH_CODEC_SNDFILE:BOOL=1

//Enable GuardedAlloc for C++ memory allocation tracking (only
// enable for development)
WITH_CXX_GUARDEDALLOC:BOOL=OFF

//Enable FFTW3 support (Used for smoke and audio effects)
WITH_FFTW3:BOOL=1

//Enable Game Engine
WITH_GAMEENGINE:BOOL=ON

//Enable ITASC IK solver (only disable for development & for incompatible
// C++ compilers)
WITH_IK_ITASC:BOOL=ON

//Enable CINEON and DPX Image Support
WITH_IMAGE_CINEON:BOOL=ON

//Enable DDS Image Support
WITH_IMAGE_DDS:BOOL=ON

//Enable HDR Image Support
WITH_IMAGE_HDR:BOOL=ON

//Enable OpenEXR Support (http://www.openexr.com)
WITH_IMAGE_OPENEXR:BOOL=ON

//Enable OpenJpeg Support (http://www.openjpeg.org)
WITH_IMAGE_OPENJPEG:BOOL=ON

//Enable RedCode Image Support
WITH_IMAGE_REDCODE:BOOL=OFF

//Enable LibTIFF Support
WITH_IMAGE_TIFF:BOOL=ON

//Install redistributeable runtime, otherwise install into CMAKE_INSTALL_PREFIX
WITH_INSTALL_PORTABLE:BOOL=0

//Enable I18N (International fonts and text)
WITH_INTERNATIONAL:BOOL=ON

//Enable Jack Support (http://www.jackaudio.org)
WITH_JACK:BOOL=1

//Enable best LZMA compression, (used for pointcache)
WITH_LZMA:BOOL=ON

//Enable fast LZO compression (used for pointcache)
WITH_LZO:BOOL=ON

//Enable Boolean Modifier
WITH_MOD_BOOLEAN:BOOL=ON

//Enable Experemental cloth solver
WITH_MOD_CLOTH_ELTOPO:BOOL=OFF

//Enable Decimate Modifier
WITH_MOD_DECIMATE:BOOL=ON

//Enable Elbeem Modifier (Fluid Simulation)
WITH_MOD_FLUID:BOOL=ON

//Enable OpenAL Support (http://www.openal.org)
WITH_OPENAL:BOOL=ON

//Enable OpenCollada Support (http://www.opencollada.org)
WITH_OPENCOLLADA:BOOL=1

//Enable OpenMP (has to be supported by the compiler)
WITH_OPENMP:BOOL=ON

//Build Player
WITH_PLAYER:BOOL=ON

//Enable Embedded Python API  (only disable for development)
WITH_PYTHON:BOOL=ON

//Copy system python into the blender install folder
WITH_PYTHON_INSTALL:BOOL=ON

//Enable building as a python module (experemental, only enable
// for development)
WITH_PYTHON_MODULE:BOOL=OFF

//Enable internal API error checking to track invalid data to prevent
// crash on access (at the expense of some effeciency, only enable
// for development).
WITH_PYTHON_SAFETY:BOOL=1

//Disables execution of scripts within blend files by default (recommend
// to leave off)
WITH_PYTHON_SECURITY:BOOL=OFF

//Enable use of SIMD (SSE) optimizations for the raytracer
WITH_RAYOPTIMIZATION:BOOL=ON

//Enable samplerate conversion
WITH_SAMPLERATE:BOOL=ON

//Enable SDL for sound and joystick support
WITH_SDL:BOOL=ON

//Enable X11 Xinput (tablet support)
WITH_X11_XINPUT:BOOL=ON

//Path to a file.
X11_ICE_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_ICE_LIB:FILEPATH=/usr/lib/libICE.so

//Path to a library.
X11_SM_LIB:FILEPATH=/usr/lib/libSM.so

//Path to a file.
X11_X11_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_X11_LIB:FILEPATH=/usr/lib/libX11.so

//Path to a file.
X11_XF86keysym_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_XShm_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_XTest_INCLUDE_PATH:PATH=X11_XTest_INCLUDE_PATH-NOTFOUND

//Path to a library.
X11_XTest_LIB:FILEPATH=X11_XTest_LIB-NOTFOUND

//Path to a file.
X11_Xaccessrules_INCLUDE_PATH:PATH=X11_Xaccessrules_INCLUDE_PATH-NOTFOUND

//Path to a file.
X11_Xaccessstr_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_Xau_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xau_LIB:FILEPATH=/usr/lib/libXau.so

//Path to a file.
X11_Xcomposite_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xcomposite_LIB:FILEPATH=/usr/lib/libXcomposite.so

//Path to a file.
X11_Xcursor_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xcursor_LIB:FILEPATH=/usr/lib/libXcursor.so

//Path to a file.
X11_Xdamage_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xdamage_LIB:FILEPATH=/usr/lib/libXdamage.so

//Path to a file.
X11_Xdmcp_INCLUDE_PATH:PATH=X11_Xdmcp_INCLUDE_PATH-NOTFOUND

//Path to a library.
X11_Xdmcp_LIB:FILEPATH=X11_Xdmcp_LIB-NOTFOUND

//Path to a library.
X11_Xext_LIB:FILEPATH=/usr/lib/libXext.so

//Path to a file.
X11_Xfixes_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xfixes_LIB:FILEPATH=/usr/lib/libXfixes.so

//Path to a file.
X11_Xft_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xft_LIB:FILEPATH=/usr/lib/libXft.so

//Path to a file.
X11_Xi_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xi_LIB:FILEPATH=/usr/lib/libXi.so

//Path to a file.
X11_Xinerama_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xinerama_LIB:FILEPATH=/usr/lib/libXinerama.so

//Path to a file.
X11_Xinput_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xinput_LIB:FILEPATH=/usr/lib/libXi.so

//Path to a file.
X11_Xkb_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_Xkblib_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_Xlib_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_Xpm_INCLUDE_PATH:PATH=X11_Xpm_INCLUDE_PATH-NOTFOUND

//Path to a library.
X11_Xpm_LIB:FILEPATH=X11_Xpm_LIB-NOTFOUND

//Path to a file.
X11_Xrandr_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xrandr_LIB:FILEPATH=/usr/lib/libXrandr.so

//Path to a file.
X11_Xrender_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xrender_LIB:FILEPATH=/usr/lib/libXrender.so

//Path to a file.
X11_Xscreensaver_INCLUDE_PATH:PATH=X11_Xscreensaver_INCLUDE_PATH-NOTFOUND

//Path to a library.
X11_Xscreensaver_LIB:FILEPATH=X11_Xscreensaver_LIB-NOTFOUND

//Path to a file.
X11_Xshape_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_Xt_INCLUDE_PATH:PATH=/usr/include

//Path to a library.
X11_Xt_LIB:FILEPATH=/usr/lib/libXt.so

//Path to a file.
X11_Xutil_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_Xv_INCLUDE_PATH:PATH=X11_Xv_INCLUDE_PATH-NOTFOUND

//Path to a library.
X11_Xv_LIB:FILEPATH=X11_Xv_LIB-NOTFOUND

//Path to a library.
X11_Xxf86misc_LIB:FILEPATH=X11_Xxf86misc_LIB-NOTFOUND

//Path to a file.
X11_dpms_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_xf86misc_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
X11_xf86vmode_INCLUDE_PATH:PATH=/usr/include

//Path to a file.
ZLIB_INCLUDE_DIR:PATH=/usr/include

//Path to a library.
ZLIB_LIBRARY:FILEPATH=/usr/lib/libz.so

//Dependencies for target
bf_avi_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_blenfont_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_blenkernel_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_blenlib_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_blenloader_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_blenpluginapi_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_collada_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_dna_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_animation_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_armature_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_curve_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_datafiles_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_gpencil_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_interface_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_mesh_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_metaball_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_object_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_physics_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_render_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_screen_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_sculpt_paint_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_sound_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_action_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_api_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_buttons_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_console_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_file_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_graph_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_image_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_info_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_logic_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_nla_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_node_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_outliner_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_script_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_sequencer_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_sound_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_time_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_userpref_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_space_view3d_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_text_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_transform_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_util_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_editor_uvedit_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_gen_system_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_gpu_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_ikplugin_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_imbuf_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_imbuf_cineon_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_imbuf_dds_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_imbuf_openexr_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_audaspace_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_bop_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_bsp_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_ctr_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_decimate_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_elbeem_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_ghost_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_guardedalloc_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_ik_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_itasc_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_memutil_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_mikktspace_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_moto_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_opennl_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_smoke_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_intern_string_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_modifiers_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_nodes_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_python_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_python_ext_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_readblenfile_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_render_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_rna_LIB_DEPENDS:STATIC=

//Dependencies for target
bf_windowmanager_LIB_DEPENDS:STATIC=

//Dependencies for target
blenkernel_blc_LIB_DEPENDS:STATIC=

//Dependencies for target
extern_binreloc_LIB_DEPENDS:STATIC=

//Dependencies for target
extern_bullet_LIB_DEPENDS:STATIC=

//Dependencies for target
extern_glew_LIB_DEPENDS:STATIC=

//Dependencies for target
extern_lzma_LIB_DEPENDS:STATIC=

//Dependencies for target
extern_minilzo_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_blen_routines_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_converter_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_logic_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_logic_expressions_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_logic_ketsji_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_logic_loopbacknetwork_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_logic_network_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_logic_ngnetwork_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_oglrasterizer_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_phys_bullet_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_phys_common_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_phys_dummy_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_player_common_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_player_ghost_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_rasterizer_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_scenegraph_LIB_DEPENDS:STATIC=

//Dependencies for target
ge_videotex_LIB_DEPENDS:STATIC=

 

Build Script Used to Build this version of Blender from SVN:

#!/bin/bash
SVNURLBLENDER="https://svn.blender.org/svnroot/bf-blender/trunk/blender"
SVNURLCOLLADA="http://opencollada.googlecode.com/svn/trunk"
#SVNURLBLENDER="https://svn.blender.org/svnroot/bf-blender/branches/bmesh/blender"

B25BASEDIR="${HOME}/Blender-SVN"
CMAKEBUILDDIR="${B25BASEDIR}/cmakebuildir"
B25BUILDINSTALL="${B25BASEDIR}/install"

SVNROOTDIRBLENDER="${B25BASEDIR}/Blender"
SVNROOTDIRCOLLADA="${B25BASEDIR}/OpenCollada"
#COLLADASVNEXTRA=""
COLLADASVNEXTRA="-r 836"

PYTHON_VERSION=3.2
PYTHON_INSTALL_DIR=/opt/python32
PYTHON_INCLUDE_DIRS=${PYTHON_INSTALL_DIR}/include/python${PYTHON_VERSION}m
PYTHON_LIBPATH=${PYTHON_INSTALL_DIR}/lib
PYTHON_LIBRARY=python${PYTHON_VERSION}m

OSVERS=`uname --operating-system | sed 's/\//-/g'`
CHIPVERS=`uname --hardware-platform`
CURRENTDIRECTORY=""
SPHINXBLENDEREXE="${B25BUILDINSTALL}/blender"
SPHINXCONFDIR="${SVNROOTDIRBLENDER}/doc/python_api"
SPHINXCONFNAME="sphinx_doc_gen.py"
BLENDERPYTHONAPIDOCSDIR="${B25BASEDIR}/Blender Python API Documents"
BLENDERSCRIPTSCONTRIBSVNURL="https://svn.blender.org/svnroot/bf-extensions/contrib/py/scripts/"
BLENDERSCRIPTSCONTRIBCHECKOUTTO="${B25BASEDIR}/scriptscontrib"
PDFLOCATION="http://www.blender.org/documentation/250PythonDoc/blender_python_reference_2_55_0.pdf"
THESVNNUMBER=""
THESVNNUMBERCOLLADA=""
PACKCONTENT=`cat ${0}`

DOCLEANBUILD=0
RELEASEONLYBUILD=0

function GetRemoteSVNRevNo {

    DATAVAR=`svn info ${1}`

    if [[ "${DATAVAR}" =~ Revision:\ ([0-9]+) ]]
        then
            MATCHEDNUMBER=${#BASH_REMATCH[*]}
            if [[ ${MATCHEDNUMBER} -eq 2 ]]
            then
                echo "${BASH_REMATCH[1]}"
            fi
    fi
}

function GenSphinxDocsAndCopy {
CURRENTDIRECTORY=`pwd`

echo "Generating Sphinx Documentation"

cd "${SVNROOTDIRBLENDER}"
CheckExitCodeReport "${?}" "Change to SVNROOT ${SVNROOTDIRBLENDER}" "Change to SVNROOT ${SVNROOTDIRBLENDER}"

if [ -d "${BLENDERPYTHONAPIDOCSDIR}" ]
then
    rm -rf "${BLENDERPYTHONAPIDOCSDIR}"
    CheckExitCodeReport "${?}" "Remove old Python Docs ${BLENDERPYTHONAPIDOCSDIR}" "Remove old Python Docs ${BLENDERPYTHONAPIDOCSDIR}"
fi

if [ -d "${SPHINXCONFDIR}/sphinx-in" ]
then
    rm -rf "${SPHINXCONFDIR}/sphinx-in"
    CheckExitCodeReport "${?}" "Remove old Sphinx directory ${SPHINXCONFDIR}/sphinx-in" "Remove old Sphinx directory ${SPHINXCONFDIR}/sphinx-in"
fi

if [ -d "${SPHINXCONFDIR}/sphinx-out" ]
then
    rm -rf "${SPHINXCONFDIR}/sphinx-out"
    CheckExitCodeReport "${?}" "Remove old Sphinx directory ${SPHINXCONFDIR}/sphinx-out" "Remove old Sphinx directory ${SPHINXCONFDIR}/sphinx-out"
fi

echo "Reading Sphinx Configuration from : ${SPHINXCONFDIR}/${SPHINXCONFNAME}"

if [ -f "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender" ] && [ -f "${SPHINXCONFDIR}/${SPHINXCONFNAME}" ]
then
    echo "Blender found for sphinx"
    ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender --background --python "${SPHINXCONFDIR}/${SPHINXCONFNAME}"
else
    echo "Blender not found for sphinx"
fi

if [ -d "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/Blender Python API Documents" ]
then
    rm -rf "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/Blender Python API Documents/*"
    CheckExitCodeReport "${?}" "Remove old Blender Python API Documents" "Remove old Blender Python API Documents"
else
    mkdir -vp "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/Blender Python API Documents"
    CheckExitCodeReport "${?}" "Create Directory Blender Python API Documents" "Create Directory Remove old Blender Python API Documents"
fi

echo "Running sphinx-build command : sphinx-build ${SPHINXCONFDIR}/sphinx-in ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/Blender Python API Documents"
sphinx-build "${SPHINXCONFDIR}/sphinx-in" "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/Blender Python API Documents"

#echo "Grabbing the Python API PDF Doc from ${PDFLOCATION}"
#cd "${BLENDERPYTHONAPIDOCSDIR}"
#wget "${PDFLOCATION}"

cd "${CURRENTDIRECTORY}"
CheckExitCodeReport "${?}" "Change to ${CURRENTDIRECTORY}" "Change to ${CURRENTDIRECTORY}"
}


function GetContribScripts {
CURRENTDIRECTORY=`pwd`
echo -"Remove old contrib script at directory : ${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
rm -rf "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
echo "Getting Extra User Python Scripts from url : ${BLENDERSCRIPTSCONTRIBSVNURL}"

svn export "${BLENDERSCRIPTSCONTRIBSVNURL}" "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
CheckExitCodeReport "${?}" "Contrib Checkout ${BLENDERSCRIPTSCONTRIBCHECKOUTTO}" "Contrib Checkout ${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"

cd "${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"
CheckExitCodeReport "${?}" "Change to ${BLENDERSCRIPTSCONTRIBCHECKOUTTO}" "Change to ${BLENDERSCRIPTSCONTRIBCHECKOUTTO}"

cp --recursive * "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/share/blender/${BLENDERVERS}/scripts"
CheckExitCodeReport "${?}" "Contrib copy to Scripts ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/share/blender/${BLENDERVERS}/scripts" "Contrib copy to Scripts Contrib copy to Scripts ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/share/blender/${BLENDERVERS}/scripts"

cd "${CURRENTDIRECTORY}"
CheckExitCodeReport "${?}" "Change to ${CURRENTDIRECTORY}" "Change to ${CURRENTDIRECTORY}"
}


function GenerateSoftwareGlScript {
echo "#!/bin/bash" > "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl"
CheckExitCodeReport "${?}" "Writing Line 1 of blender-softwaregl" "Writing Line 1 of blender-softwaregl"
echo "LIBGL_ALWAYS_SOFTWARE=1" >> "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl"
CheckExitCodeReport "${?}" "Writing Line 2 of blender-softwaregl" "Writing Line 2 of blender-softwaregl"
echo "export LIBGL_ALWAYS_SOFTWARE" >> "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl"
CheckExitCodeReport "${?}" "Writing Line 3 of blender-softwaregl" "Writing Line 3 of blender-softwaregl"
echo "blender" >> "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl"
CheckExitCodeReport "${?}" "Writing Line 4 of blender-softwaregl" "Writing Line 4 of blender-softwaregl"
chmod a+x "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl"
CheckExitCodeReport "${?}" "Setting to chmod a+x ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl" "Setting to chmod a+x ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl"
}


function CopyFilesToRightPlace {
OLDDIR=`pwd`
rm -rf "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}"
mkdir -vp ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin
CheckExitCodeReport "${?}" "Making ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS} directory" "Making ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS} directory"
    cd "${CMAKEBUILDDIR}/BLENDER"
    make install
    cd "${OLDDIR}"
    echo -e "${PACKCONTENT}" > "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/packblender.sh"
    CheckExitCodeReport "${?}" "Stage 2 Script Content Place" "Stage 2 Script Content Place"

GetContribScripts

cd "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}"
CheckExitCodeReport "${?}" "CD into ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}" "CD into ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}"

GenerateSoftwareGlScript

GenSphinxDocsAndCopy

cp --recursive "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}" "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG"
CheckExitCodeReport "${?}" "Copying Debug version ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG" "Copying Debug version ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG"

find . -type f -iname "*.pyo" -exec rm {} \; &> /dev/null
find . -type f -iname "*.pyc" -exec rm {} \; &> /dev/null
find . -type f -exec strip --strip-all {} \; &> /dev/null

cd "${B25BASEDIR}/Binaries"
CheckExitCodeReport "${?}" "CD into ${B25BASEDIR}/Binaries" "CD into ${B25BASEDIR}/Binaries"
echo "Please Wait - Creating Package file ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}.7z"
7z a -bd -mx=9 "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}.7z" "Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}" > /dev/null
CheckExitCodeReport "${?}" "Creating Package ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}.7z" "Creating Package ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}.7z"

echo "Please Wait - Creating Package file ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG.7z"
7z a -bd -mx=9 "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG.7z" "Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG" > /dev/null
CheckExitCodeReport "${?}" "Creating Package ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG.7z" "Creating Package ${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG.7z"

ln -fs "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender" "${B25BASEDIR}/blender"
CheckExitCodeReport "${?}" "Creating Symlink ${B25BASEDIR}/blender" "Creating Symlink ${B25BASEDIR}/blender"
ln -fs "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}/bin/blender-softwaregl" "${B25BASEDIR}/blender-softwaregl"
CheckExitCodeReport "${?}" "Creating Symlink ${B25BASEDIR}/blender-softwaregl" "Creating Symlink ${B25BASEDIR}/blender-softwaregl"

ln -fs "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG/bin/blender" "${B25BASEDIR}/blender-DEBUG"
CheckExitCodeReport "${?}" "Creating Symlink ${B25BASEDIR}/blender-DEBUG" "Creating Symlink ${B25BASEDIR}/blender-DEBUG"
ln -fs "${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS}-DEBUG/bin/blender-softwaregl" "${B25BASEDIR}/blender-softwaregl-DEBUG"
CheckExitCodeReport "${?}" "Creating Symlink ${B25BASEDIR}/blender-softwaregl-DEBUG" "Creating Symlink ${B25BASEDIR}/blender-softwaregl-DEBUG"

cd "${OLDDIR}"
CheckExitCodeReport "${?}" "Change to ${OLDDIR}" "Change to ${OLDDIR}"
}


function CheckExitCodeReport {
ExitCode=${1}
ExitMessageSuccess=${2}
ExitMessageFail=${3}

if [ ${ExitCode} = "0" ]; then
    echo "Pass - ${ExitMessageSuccess}"
else
    echo "Fail - ${ExitMessageFail}"
    exit 1
fi
}


function CheckCreateBaseDir {
if [ -d "${CMAKEBUILDDIR}" ]
then
    CheckExitCodeReport "0" "CMAKE BUILD DIR FOUND AT ${CMAKEBUILDDIR}" ""
else
    mkdir -vp "${CMAKEBUILDDIR}"
    CheckExitCodeReport "${?}" "CMAKE BUILD DIR CREATED ${CMAKEBUILDDIR}" "CMAKE BUILD DIR COULD NOT BE CREATED ${CMAKEBUILDDIR}"
fi
}


function CheckNewUserConfigFile {
ALTEREDFILES="${1}"
#DOCLEANBUILD=0
cat "${ALTEREDFILES}" | grep '/macros.cmake' &> /dev/null

if [ $? -eq 0 ]
then
    echo "Altered macros.cmake, need a clean build"

    DOCLEANBUILD=1
fi

cat "${ALTEREDFILES}" | grep '/CMakeLists.txt' &> /dev/null

if [ $? -eq 0 ]
then
    echo "Altered CMakeLists.txt, need a clean build"
    
    DOCLEANBUILD=1
fi

if [ ${DOCLEANBUILD} -eq 1 ]; then
    rm -rf  "${CMAKEBUILDDIR}"
    CheckExitCodeReport "${?}" "Deleting ${CMAKEBUILDDIR}" "Deleting ${CMAKEBUILDDIR}"
    CheckCreateBaseDir
fi
}


function SVNCheckoutGetNumber {

SVNURL="${1}"
SVNROOTDIR="${2}"
SVNLOGFILE="${3}"
SVNEXTRA="${4}"

echo "SVN CHECKOUT"
echo "SVNURL   : ${SVNURL}"
echo "SVNROOT  : ${SVNROOTDIR}"
echo "SVNLOG   : ${SVNLOGFILE}"
echo "SVNEXTRA : ${SVNEXTRA}"
echo -e "--------\n\n"
svn checkout ${SVNEXTRA} "${SVNURL}" "${SVNROOTDIR}" > "${SVNLOGFILE}"
CheckExitCodeReport "${?}" "SVN CHECKOUT" "SVN CHECKOUT"
}


function GetVersion {
FILENAME=${1}
REGPATTERN=${2}
MATCHLINE=

while read line   
do
if [[ "${line}" =~ ${REGPATTERN} ]]
then
    TmpCtr=1
    MatchCount=${#BASH_REMATCH[*]}

    while [[ ${TmpCtr} -lt ${MatchCount} ]]
    do
        MATCHLINE="${BASH_REMATCH[${TmpCtr}]}"
        echo "${MATCHLINE}"
        let TmpCtr++
    done
fi
done < ${FILENAME}
}

function GetBlenderSource {
    echo "Blender Checkout"
    REMOTESVNREV=`GetRemoteSVNRevNo "${SVNURLBLENDER}"`

if [[ ${REMOTESVNREV} -gt `svnversion "${SVNROOTDIRBLENDER}"` ]]
    then
    echo -e "Local SVN Rev `svnversion ${SVNROOTDIRBLENDER}`\nRemote SVN Rev ${REMOTESVNREV}"
    echo "--------------------"

    SVNCheckoutGetNumber "${SVNURLBLENDER}" "${SVNROOTDIRBLENDER}" "${B25BASEDIR}/Altered-Updated-Files.txt"
    CheckExitCodeReport "${?}" "SVN CHECKOUT" "SVN CHECKOUT"
    else
        echo "Local SVN Rev IN SYNC WITH Remote SVN Rev `svnversion ${SVNROOTDIRBLENDER}`"
        echo "--------------------"
fi

BLENDERSVN=`svnversion ${SVNROOTDIRBLENDER}`

BLENDERVERS=`GetVersion "${SVNROOTDIRBLENDER}/source/blender/blenkernel/BKE_blender.h" "^\#define\s+BLENDER_VERSION\s+([0-9]+)"`

if [ -z ${BLENDERVERS} ]; then
    CheckExitCodeReport "1" "" "COULD NOT DETERMINE BLENDER VERSION WITH GetVersion"
else
    BLENDERVERS=`echo "scale=2;${BLENDERVERS}/100" | bc`
    CheckExitCodeReport "0" "Blender Major.Minor version : ${BLENDERVERS} FROM GetVersion" ""
fi

CheckNewUserConfigFile "${B25BASEDIR}/Altered-Updated-Files.txt"

CheckExitCodeReport "0" "The most current SVN Blender ${BLENDERVERS} number is : ${BLENDERSVN}" ""
}


function GetOpenColladaSource {

    echo "Collada Checkout"

SVNCheckoutGetNumber "${SVNURLCOLLADA}" "${SVNROOTDIRCOLLADA}" "${B25BASEDIR}/Altered-Updated-Collada-Files.txt" "${COLLADASVNEXTRA}"
#SVNCheckoutGetNumber "${SVNURLCOLLADA}" "${SVNROOTDIRCOLLADA}" "${B25BASEDIR}/Altered-Updated-Collada-Files.txt" "-r 817"
CheckExitCodeReport "${?}" "SVN COLLADA CHECKOUT" "SVN COLLADA CHECKOUT"

THESVNNUMBERCOLLADA=`svnversion ${SVNROOTDIRCOLLADA}`
CheckExitCodeReport "0" "SVN COLLADA CHECKOUT ${THESVNNUMBERCOLLADA}" "SVN COLLADA CHECKOUT ${THESVNNUMBERCOLLADA}"
}



function StartCmakeBuild {
OLDDIR=`pwd`
SOURCENAME=${1}
SOURCEDIR=${2}
BUILDOPTIONS=${3}
mkdir -vp "${SOURCENAME}"
CheckExitCodeReport "${?}" "mkdir ${SOURCENAME}" "mkdir ${SOURCENAME}"
cd "${SOURCENAME}"
CheckExitCodeReport "${?}" "Change to ${SOURCENAME}" "Change to ${SOURCENAME}"
cmake ${BUILDOPTIONS} "${SOURCEDIR}"
CheckExitCodeReport "${?}" "cmake ${SOURCEDIR}" "cmake ${SOURCEDIR}"

if [ -f "${SOURCENAME}/ccmake_firstrun.touch" ] && [ ${DOCLEANBUILD} -eq 0 ]; then
    CheckExitCodeReport "0" "ccmake has been run!" "ccmake has been run!"
else
    CheckExitCodeReport "0" "ccmake has not been run!" "ccmake has not been run!"
    ccmake ${BUILDOPTIONS} "${SOURCEDIR}"
    CheckExitCodeReport "${?}" "ccmake configuration" "ccmake configuration"
    touch "${SOURCENAME}/ccmake_firstrun.touch"
    CheckExitCodeReport "${?}" "ccmake touch file created" "cmake touch file created"
fi

make -j1
CheckExitCodeReport "${?}" "make" "make"
cd "${OLDDIR}"
CheckExitCodeReport "${?}" "Change to ${OLDDIR}" "Change to ${OLDDIR}"
}

function ProcessCMDLine {
while getopts ":ch" CMDOPTS; do
    case ${CMDOPTS} in
    \?)
        echo "Invalid Option ${OPTARG}"
        exit 1
        ;;
    :)
        echo "Value required for ${OPTARG}"
        exit 1
        ;;
    h)
        echo "${0} [OPTIONS]"
        echo ""
        echo "OPTIONS"
        echo ""
        echo "-h    - This help text."
        echo "-c    - Force the Build Script to do a Clean Build."

        exit 0
        ;;
    c)
        echo "Forcing a clean build."
        DOCLEANBUILD=1
        break
        ;;
    r)
        echo "Make a Release Only Build.."
        RELEASEONLYBUILD=1
        break
        ;;

    esac
done
}

### End of Function Definitions ###

### Main Start Point ###

ProcessCMDLine ${@}

CheckCreateBaseDir

GetBlenderSource
GetOpenColladaSource

StartCmakeBuild "${CMAKEBUILDDIR}/COLLADA" "${SVNROOTDIRCOLLADA}"
StartCmakeBuild "${CMAKEBUILDDIR}/BLENDER" "${SVNROOTDIRBLENDER}" "-D WITH_PYTHON_SAFETY:BOOL=1 -D WITH_JACK:BOOL=1 -D WITH_FFTW3:BOOL=1 -D WITH_CODEC_SNDFILE:BOOL=1 -D WITH_CODEC_FFMPEG:BOOL=1 -D WITH_ASSERT_ABORT:BOOL=1 -D CMAKE_BUILD_TYPE:STRING=Debug -D WITH_OPENCOLLADA:BOOL=1 -D OPENCOLLADA:STRING=${SVNROOTDIRCOLLADA} -D WITH_INSTALL_PORTABLE:BOOL=0 -D CMAKE_INSTALL_PREFIX:STRING=${B25BASEDIR}/Binaries/Blender-${BLENDERVERS}-SVN${BLENDERSVN}-${CHIPVERS}-${OSVERS} -D PYTHON_INCLUDE_DIRS:STRING=${PYTHON_INCLUDE_DIRS} -D PYTHON_LIBPATH:STRING=${PYTHON_LIBPATH} -D PYTHON_LIBRARY:STRING=${PYTHON_LIBRARY} -D PYTHON_VERSION:STRING=${PYTHON_VERSION}"

CopyFilesToRightPlace

echo "Building of Blender Finished."
touch "${B25BASEDIR}/Blender-${BLENDERSVN}.complete"
echo "Building of Collada Finished."
touch "${B25BASEDIR}/Collada-${THESVNNUMBERCOLLADA}.complete"


Feeling talkative?
Log in to leave a comment.