利用者:Ideasman42/blender local update.sh

提供: wiki
移動先: 案内検索

cleaned up script used to update blender at blenderinstitute (cleaned up)

PREFIX="/media/data/blender_"$(whoami)
PREFIX_SRC=$PREFIX/blender

if [ ! -d $PREFIX ]; then
    echo "making dir for the first time"
    mkdir $PREFIX
fi

if [ ! -d $PREFIX ]; then
    echo "Could not create blender dir!" $PREFIX
    sleep 2s
    exit 0
fi

cd $PREFIX

rm -rf install

if [ ! -d $PREFIX_SRC ]; then
    # creates PREFIX_SRC
    svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender blender
    cd blender
else
    cd blender
    svn update
    #svn revert -R .
fi

CORES=`cat /proc/cpuinfo | grep cores | uniq | sed -e "s/.*: *\(.*\)/\\1/"`
#CORES=4


## CMAKE!!! CAKE
if [ ! -d ../cmake_release ]; then
    mkdir ../cmake_release
fi
if [ ! -d ../cmake_debug ]; then
    mkdir ../cmake_debug
fi

# -ffast-math is slower on multiple systems. go figure! - campbell
cd ../cmake_release
cmake \
    -D CMAKE_BUILD_TYPE:STRING=Release \
    -D CMAKE_C_FLAGS:STRING="-march=core2 -O2 -mtune=native -fomit-frame-pointer -msse -msse2 -msse3 -ftree-vectorize -finline-functions -funswitch-loops --fast-math -fvisibility=hidden -pipe" \
    -D CMAKE_CXX_FLAGS:STRING="-march=core2 -O2 -mtune=native -fomit-frame-pointer -msse -msse2 -msse3 -ftree-vectorize -finline-functions -funswitch-loops --fast-math -fvisibility=hidden -pipe" \
    -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
    -D CMAKE_COLOR_MAKEFILE:BOOL=ON \
    -D WITH_BUILDINFO:BOOL=ON  \
    ../blender
make -s -j $CORES

cd ../blender ; mv ../cmake_release/bin/blender ./blender
strip -s ./blender

# difference is only CMAKE_BUILD_TYPE, OPENMP, CMAKE_C_FLAGS, CMAKE_CXX_FLAGS

cd ../cmake_debug
cmake \
    -D CMAKE_BUILD_TYPE:STRING=Debug \
    -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \
    -D CMAKE_COLOR_MAKEFILE:BOOL=ON \
    -D WITH_BUILDINFO:BOOL=ON  \
    ../blender
make -s -j $CORES

cd ../blender ; mv ../cmake_debug/bin/blender ./blender_debug

#strip -s ./blender

echo ""
echo "done, Ctrl+C to close"
sleep 2h