Blender: cleanup, release settings, ninja (#4988)

This commit is contained in:
extrowerk
2020-05-25 20:15:17 +02:00
committed by GitHub
parent cf9654fef8
commit 88925b78f3

View File

@@ -156,7 +156,7 @@ BUILD_PREREQUIRES="
cmd:find cmd:find
cmd:gcc$secondaryArchSuffix cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix cmd:ld$secondaryArchSuffix
cmd:make cmd:ninja
cmd:python${PYTHON_VERSION} cmd:python${PYTHON_VERSION}
cmd:sed cmd:sed
cmd:strip cmd:strip
@@ -165,9 +165,30 @@ BUILD_PREREQUIRES="
defineDebugInfoPackage blender$secondaryArchSuffix \ defineDebugInfoPackage blender$secondaryArchSuffix \
$appsDir/Blender/Blender $appsDir/Blender/Blender
PATCH()
{
# Blender 2.79 doesn't support Python3.7 correctly
# and Python3.6 package doesn't provide cmd:python3.
# This should be removed if we switch to Blender 2.8x.
find . -type f -name "*.py" | xargs sed -i -e 's,python3,python3.6,g'
}
BUILD() BUILD()
{ {
PORT_SUBFOLDER=`echo $portVersion | sed 's/.$//'` # IMPORTANT INFORMATION, PLEASE READ BEFORE CHANGE ANYTHING.
# Please do not make any changes here if they not *REALLY* necessary.
# Keep this list short and tidy.
# Blender uses the following settings to produce the official releases:
# https://github.com/blender/blender/blob/master/build_files/cmake/config/blender_release.cmake
# This settings are used on Haiku too, but we had to override some settings.
# We should follow their settings as closely as possible to make interoperability possible between diferent platforms.
# In the recipe there are 3 group for the compiler flags:
# - platform specific (required to build Blender on Haiku)
# - bugous (these settings should work but they breaks build / functionality on Haiku, should be fixed)
# - missing deps (required dependency is not (yet) available for Haiku, should be ported)
# If a change required please put it in the correct category, if you are unsure, ask at HaikuPorts.
INCLUDE_DIR="`finddir B_SYSTEM_HEADERS_DIRECTORY`${secondaryArchSubDir}" INCLUDE_DIR="`finddir B_SYSTEM_HEADERS_DIRECTORY`${secondaryArchSubDir}"
@@ -207,50 +228,6 @@ BUILD()
-DWITH_MEM_JEMALLOC=OFF \ -DWITH_MEM_JEMALLOC=OFF \
-DWITH_INPUT_NDOF=OFF" -DWITH_INPUT_NDOF=OFF"
# Release build settings
BLENDER_RELEASE="-DWITH_ALEMBIC=ON \
-DWITH_BULLET=ON \
-DWITH_CODEC_AVI=ON \
-DWITH_CODEC_FFMPEG=ON \
-DWITH_CODEC_SNDFILE=ON \
-DWITH_CYCLES=ON \
-DWITH_CYCLES_OPENSUBDIV=ON \
-DWITH_CYCLES_OSL=ON \
-DWITH_FFTW3=ON \
-DWITH_LIBMV=ON \
-DWITH_LIBMV_SCHUR_SPECIALIZATIONS=ON \
-DWITH_GAMEENGINE=ON \
-DWITH_COMPOSITOR=ON \
-DWITH_FREESTYLE=ON \
-DWITH_GHOST_XDND=ON \
-DWITH_IK_SOLVER=ON \
-DWITH_IK_ITASC=ON \
-DWITH_IMAGE_CINEON=ON \
-DWITH_IMAGE_DDS=ON \
-DWITH_IMAGE_FRAMESERVER=ON \
-DWITH_IMAGE_HDR=ON \
-DWITH_IMAGE_OPENEXR=ON \
-DWITH_IMAGE_TIFF=ON \
-DWITH_INTERNATIONAL=ON \
-DWITH_LZMA=ON \
-DWITH_LZO=ON \
-DWITH_MOD_BOOLEAN=ON \
-DWITH_MOD_FLUID=ON \
-DWITH_MOD_REMESH=ON \
-DWITH_MOD_SMOKE=ON \
-DWITH_MOD_OCEANSIM=ON \
-DWITH_AUDASPACE=ON \
-DWITH_OPENAL=ON \
-DWITH_OPENCOLLADA=ON \
-DWITH_OPENCOLORIO=ON \
-DWITH_OPENMP=ON \
-DWITH_OPENVDB=ON \
-DWITH_OPENVDB_BLOSC=ON \
-DWITH_RAYOPTIMIZATION=ON \
-DWITH_SDL=ON \
-DWITH_PLAYER=OFF \
-DWITH_OPENSUBDIV=ON"
# Extra CXX Flags # Extra CXX Flags
BLENDER_CXX="-std=c++11" BLENDER_CXX="-std=c++11"
@@ -258,19 +235,20 @@ BUILD()
cd build_haiku cd build_haiku
cmake .. \ cmake .. \
-G Ninja \
-C ../build_files/cmake/config/blender_release.cmake \
$BLENDER_PLATFORM_SPECIFIC \ $BLENDER_PLATFORM_SPECIFIC \
$BLENDER_BUGOUS \ $BLENDER_BUGOUS \
$BLENDER_MISSING \ $BLENDER_MISSING \
$BLENDER_RELEASE \
-DCMAKE_CXX_FLAGS="$BLENDER_CXX" -DCMAKE_CXX_FLAGS="$BLENDER_CXX"
make $jobArgs ninja $jobArgs
} }
INSTALL() INSTALL()
{ {
cd build_haiku cd build_haiku
make install $jobArgs ninja install $jobArgs
mv $appsDir/Blender/blender $appsDir/Blender/Blender mv $appsDir/Blender/blender $appsDir/Blender/Blender