Bundle: Pass compilation step on Windows

This commit is contained in:
2018-08-07 20:17:40 +02:00
parent 206d83d546
commit 782af39ed3

View File

@@ -52,7 +52,9 @@ fi
################################################################################
# Initialization and sanity checks.
CMAKE_GENERATOR="Unix Makefiles"
BITNESS="64"
if [ "${KERNEL_NAME}" == "Linux" ]; then
MACHINE_TYPE=`${UNAME} -m`
if [ "${MACHINE_TYPE}" == 'x86_64' ]; then
@@ -66,8 +68,12 @@ elif [ "${KERNEL_NAME}" == "Darwin" ]; then
elif [[ "${KERNEL_NAME}" == "MINGW"* ]]; then
if [ "${VSCMD_ARG_TGT_ARCH}" == "x64" ]; then
BITNESS="64"
CMAKE_GENERATOR="Visual Studio 15 2017 Win64"
MSBUILD_PLATFORM="x64"
elif [ "${VSCMD_ARG_TGT_ARCH}" == "x86" ]; then
BITNESS="32"
CMAKE_GENERATOR="Visual Studio 15 2017"
MSBUILD_PLATFORM="win32"
else
echo "Can not detect bitness, running outside of bundle-windows.bat?"
exit 1
@@ -96,16 +102,20 @@ elif [ "${KERNEL_NAME}" == "Darwin" ]; then
elif [[ "${KERNEL_NAME}" == "MINGW"* ]]; then
if [ "${BITNESS}" == "64" ]; then
BLENDER_PLATFORM="windows64"
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.tar.bz2"
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.zip"
BLENDER_LIBRARIES="win64_vc14"
else
BLENDER_PLATFORM="windows32"
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.tar.bz2"
BLENDER_PLATFORM_AND_EXTENSION="${BLENDER_PLATFORM}.zip"
BLENDER_LIBRARIES="windows_vc14"
fi
else
echo "ERROR: Unsupported platform."
exit 1
fi
SVN_LIBRARIES_URL="https://svn.blender.org/svnroot/bf-blender/trunk/lib/${BLENDER_LIBRARIES}"
# Tweak bundle directory.
BUNDLE_DIRECTORY="${BUNDLE_DIRECTORY}-${BLENDER_PLATFORM}"
@@ -131,10 +141,19 @@ if [ -z "${CMAKE}" ]; then
exit 1
fi
CONVERT=`which convert`
if [ -z "${CONVERT}" ]; then
echo "ERROR: ImageMagic's convert is not found, can not continue."
exit 1
MAGICK=`which magick`
if [ ! -z "${MAGICK}" ]; then
CONVERT="${MAGICK} convert"
else
if [[ "${KERNEL_NAME}" == "MINGW"* ]]; then
echo "ERROR: MAgick is not found but required on this platform"
exit 1
fi
CONVERT=`which convert`
if [ -z "${CONVERT}" ]; then
echo "ERROR: ImageMagic's convert is not found, can not continue."
exit 1
fi
fi
GIT=`which git`
@@ -199,10 +218,10 @@ fi
if [ -d "${SVN_BENCHMARK_CHECKOUT_DIRECTORY}" ]; then
echo "Updating benchmark scenes..."
${SVN} up "${SVN_BENCHMARK_CHECKOUT_DIRECTORY}"
"${SVN}" up "${SVN_BENCHMARK_CHECKOUT_DIRECTORY}"
else
echo "Making a new checkout of scenes..."
${SVN} checkout "${SVN_BENCHMARK_URL}" "${SVN_BENCHMARK_CHECKOUT_DIRECTORY}"
"${SVN}" checkout "${SVN_BENCHMARK_URL}" "${SVN_BENCHMARK_CHECKOUT_DIRECTORY}"
fi
################################################################################
@@ -240,23 +259,49 @@ if [ "${KERNEL_NAME}" == "Darwin" ]; then
# Get precompiled libs
cd "${SOURCE_DIRECTORY}"
make update
cd -
elif [[ "${KERNEL_NAME}" == "MINGW"* ]]; then
mkdir -p "${SOURCE_DIRECTORY}/../lib"
BLENDER_LIBPATH="${SOURCE_DIRECTORY}/../lib/${BLENDER_LIBRARIES}"
if [ -d "${BLENDER_LIBPATH}" ]; then
echo "Updating libraries"
"${SVN}" up "${BLENDER_LIBPATH}"
else
echo "Checking out libraries"
"${SVN}" checkout "${SVN_LIBRARIES_URL}" "${BLENDER_LIBPATH}"
fi
EXTRA_CMAKE_ARGS="${EXTRA_CMAKE_ARGS} -H${SOURCE_DIRECTORY} -B${BUILD_DIRECTORY}"
fi
mkdir -p "${BUILD_DIRECTORY}"
cd "${BUILD_DIRECTORY}"
${CMAKE} \
"${CMAKE}" \
-G "${CMAKE_GENERATOR}" \
${EXTRA_CMAKE_ARGS} \
-C "${SOURCE_DIRECTORY}/build_files/cmake/config/blender_benchmark.cmake" \
-D CMAKE_INSTALL_PREFIX="${BUNDLE_DIRECTORY}" \
"${SOURCE_DIRECTORY}"
cd -
${MAKE} -C "${BUILD_DIRECTORY}" -j 2 install || exit 1
if [ "${KERNEL_NAME}" == "Darwin" ]; then
sleep 1
if [ ! -z "${MAKE}" ]; then
${MAKE} -C "${BUILD_DIRECTORY}" -j 2 install || exit 1
if [ "${KERNEL_NAME}" == "Darwin" ]; then
sleep 1
else
${STRIP} -s "${BUNDLE_DIRECTORY}/blender-benchmark"
fi
elif [ ! -z "${MSBUILD}" ]; then
"${MSBUILD}" \
${BUILD_DIRECTORY}/Blender.sln \
-target:build \
-property:Configuration=Release \
-maxcpucount:2 \
-verbosity:minimal \
-p:platform=${MSBUILD_PLATFORM} \
-flp:Summary;Verbosity=minimal;LogFile=${BUILD_DIRECTORY}/Build.log || exit 1
else
${STRIP} -s "${BUNDLE_DIRECTORY}/blender-benchmark"
echo "ERROR: Unknown build system"
exit 1
fi
################################################################################