Archive the result bundle
This commit is contained in:
@@ -19,6 +19,7 @@
|
||||
|
||||
SCRIPT=$(readlink -f $0)
|
||||
SCRIPTPATH=`dirname $SCRIPT`
|
||||
BENCHMARK_VERSION="1.0"
|
||||
|
||||
CONFIG="${SCRIPTPATH}/config"
|
||||
|
||||
@@ -51,31 +52,40 @@ fi
|
||||
|
||||
SVN_BENCHMARK_URL="https://svn.blender.org/svnroot/bf-blender/trunk/lib/benchmarks/cycles/"
|
||||
SVN_BENCHMARK_CHECKOUT_DIRECTORY="${STORAGE_DIRECTORY}/benchmark_scenes"
|
||||
BUNDLE_DIRECTORY="${STORAGE_DIRECTORY}/blender-benchmark"
|
||||
SCENES="barbershop_interior bmw27 classroom fishy_cat koro pavillon_barcelona victor"
|
||||
BUNDLE_DIRECTORY="${STORAGE_DIRECTORY}/blender-benchmark-${BENCHMARK_VERSION}"
|
||||
SCENES="barbershop_interior bmw27 classroom fishy_cat koro pavillon_barcelona"
|
||||
IMAGE_WIDTH=1600 # 800*2
|
||||
IMAGE_HEIGHT=740 # 370*2
|
||||
|
||||
# Information about Blender to bundle.
|
||||
if [ "${KERNEL_NAME}" == "Linux" ]; then
|
||||
if [ "${BITNESS}" == "64" ]; then
|
||||
BLENDER_PLATFORM_AND_EXTENSION="linux-glibc219-x86_64.tar.bz2"
|
||||
BLENDER_PLATFORM="linux-glibc219-x86_64"
|
||||
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.tar.bz2"
|
||||
else
|
||||
BLENDER_PLATFORM_AND_EXTENSION="linux-glibc219-i686.tar.bz2"
|
||||
BLENDER_PLATFORM="linux-glibc219-i686"
|
||||
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.tar.bz2"
|
||||
fi
|
||||
else
|
||||
echo "ERROR: Unsupported platform."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Tweak bundle directory.
|
||||
BUNDLE_DIRECTORY="${BUNDLE_DIRECTORY}-${BLENDER_PLATFORM}"
|
||||
|
||||
BLENDER_RELEASE="2.79b"
|
||||
BLENDER_RELEASE_NO_LETTER=${BLENDER_RELEASE//[a-z]/}
|
||||
BLENDER_RELEASE_URL="https://download.blender.org/release/Blender${BLENDER_RELEASE_NO_LETTER}"
|
||||
BLENDER_RELEASE_FILE="blender-${BLENDER_RELEASE}-${BLENDER_PLATFORM_AND_EXTENSION}"
|
||||
BLENDER_FULL_URL="${BLENDER_RELEASE_URL}/${BLENDER_RELEASE_FILE}"
|
||||
|
||||
SVN=`which svn`
|
||||
if [ -z "${SVN}" ]; then
|
||||
echo "ERROR: Subversion is not found, can not continue."
|
||||
GIT_BLENDER_REPOSITORY="git://git.blender.org/blender.git"
|
||||
GIT_BENCHMARK_BRANCH="temp-benchmark"
|
||||
|
||||
CMAKE=`which cmake`
|
||||
if [ -z "${CMAKE}" ]; then
|
||||
echo "ERROR: cmake is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -85,12 +95,43 @@ if [ -z "${CONVERT}" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
GIT=`which git`
|
||||
if [ -z "${GIT}" ]; then
|
||||
echo "ERROR: Git is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MAKE=`which make`
|
||||
if [ -z "${MAKE}" ]; then
|
||||
echo "ERROR: Make is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
STRIP=`which strip`
|
||||
if [ -z "${STRIP}" ]; then
|
||||
echo "ERROR: strip is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
SVN=`which svn`
|
||||
if [ -z "${SVN}" ]; then
|
||||
echo "ERROR: Subversion is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
TAR=`which tar`
|
||||
if [ -z "${TAR}" ]; then
|
||||
echo "ERROR: Tar is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
WGET=`which wget`
|
||||
if [ -z "${WGET}" ]; then
|
||||
echo "ERROR: wget is not found, can not continue."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
# Make sure storage directory exists.
|
||||
if [ -z ${STORAGE_DIRECTORY} ]; then
|
||||
echo "ERROR: STORAGE_DIRECTORY is not specified, can not continue."
|
||||
@@ -126,7 +167,9 @@ echo "Downloading Blender..."
|
||||
${WGET} -c "${BLENDER_FULL_URL}" -O "${STORAGE_DIRECTORY}/${BLENDER_RELEASE_FILE}"
|
||||
echo "Unpacking Blender..."
|
||||
mkdir -p "${BUNDLE_DIRECTORY}/blender"
|
||||
tar -xf "${STORAGE_DIRECTORY}/${BLENDER_RELEASE_FILE}" --directory "${BUNDLE_DIRECTORY}/blender" --strip-components 1
|
||||
${TAR} -xf "${STORAGE_DIRECTORY}/${BLENDER_RELEASE_FILE}" --directory "${BUNDLE_DIRECTORY}/blender" --strip-components 1
|
||||
rm -f "${BUNDLE_DIRECTORY}/blender/blenderplayer"
|
||||
|
||||
|
||||
# Create background to stack image on.
|
||||
BACKGROUND_IMAGE="${STORAGE_DIRECTORY}/background.png"
|
||||
@@ -153,3 +196,49 @@ for scene in ${SCENES}; do
|
||||
rm ${output_scaled}
|
||||
fi
|
||||
done
|
||||
|
||||
################################################################################
|
||||
# Compile blender-benchmark
|
||||
|
||||
SOURCE_DIRECTORY="${STORAGE_DIRECTORY}/blender.git"
|
||||
BUILD_DIRECTORY="${STORAGE_DIRECTORY}/build-${BLENDER_PLATFORM}"
|
||||
|
||||
if [ ! -z "${CLEAN_BUILD_DIRECTORY}" ]; then
|
||||
echo "Cleaning build directory..."
|
||||
rm -rf "${BUILD_DIRECTORY}"
|
||||
fi
|
||||
|
||||
GIT_C="${GIT} -C ${SOURCE_DIRECTORY}"
|
||||
|
||||
if [ ! -d "${SOURCE_DIRECTORY}" ]; then
|
||||
echo "Checking out Blender.git..."
|
||||
${GIT} clone "${GIT_BLENDER_REPOSITORY}" "${SOURCE_DIRECTORY}"
|
||||
echo "Initializing submodules..."
|
||||
${GIT_C} submodule update --init --recursive
|
||||
fi
|
||||
|
||||
echo "Checking to a latest benchmark branch..."
|
||||
${GIT_C} checkout ${GIT_BENCHMARK_BRANCH}
|
||||
${GIT_C} pull
|
||||
echo "Updatying submodules to the latest version..."
|
||||
${GIT_C} submodule update --remote
|
||||
|
||||
mkdir -p "${BUILD_DIRECTORY}"
|
||||
cd "${BUILD_DIRECTORY}"
|
||||
${CMAKE} \
|
||||
-C "${SOURCE_DIRECTORY}/build_files/cmake/config/blender_benchmark.cmake" \
|
||||
-D CMAKE_INSTALL_PREFIX="${BUNDLE_DIRECTORY}" \
|
||||
"${SOURCE_DIRECTORY}"
|
||||
cd -
|
||||
|
||||
${MAKE} -C "${BUILD_DIRECTORY}" -j install
|
||||
${STRIP} -s "${BUNDLE_DIRECTORY}/blender-benchmark"
|
||||
|
||||
################################################################################
|
||||
# Package.
|
||||
|
||||
${TAR} \
|
||||
-C "${STORAGE_DIRECTORY}" \
|
||||
--exclude='*.pyc' \
|
||||
-cjf `basename ${BUNDLE_DIRECTORY}`.tar.bz2 \
|
||||
"`basename ${BUNDLE_DIRECTORY}`"
|
||||
|
Reference in New Issue
Block a user