Bundle: Pass compilation step on Windows
This commit is contained in:
@@ -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
|
||||
|
||||
################################################################################
|
||||
|
Reference in New Issue
Block a user