Sophie

Sophie

distrib > Mageia > cauldron > i586 > by-pkgid > 86fb21ce8befedacf19e8d960aa72978 > files > 17

blender-3.6.9-1.mga10.src.rpm

#!/bin/sh

# [ghibo]
#
# 1.0.20200921 - script for building bundled OpenUSD library

USD_VER=23.08
BINDIR=/usr/bin
SOURCE_FILE=OpenUSD-${USD_VER}.tar.gz
LIBDIR=/usr/lib64
PATCH_FILE=../../build_files/build_environment/patches/usd.diff
TARGET_DIR=$(pwd)/build_dir

while [ ! -z "$1" ]; do
  case "$1" in
     --bindir|-b)
         shift
         BINDIR="$1"
         ;;
     --cxxflags|-x)
     	 shift
     	 CXXFLAGS="$1"
     	 ;;
     --libdir|-l)
         shift
         LIBS="$1"
         ;;
     --patch|-p)
         shift
         PATCH_FILE="$1"
         ;;
     --patch2|-q)
     	 shift
     	 PATCH2_FILE="$1"
     	 ;;
     --patch3|-r)
         shift
         PATCH3_FILE="$1"
         ;;
     --patch4|-u)
         shift
         PATCH4_FILE="$1"
         ;;
     --source|-s)
         shift
     	 SOURCE_FILE="$1"
         ;;
     --target|-t)
         shift
         TARGET_DIR="$1"
         ;;
     --version|-v)
        shift
        USD_VER="$1"
         ;;
     *)
        exit 0
        ;;
  esac
shift
done

if [ -z "${CXXFLAGS}" ]; then
	CXXFLAGS="-O2"
fi

if [ -z "${CFLAGS}" ]; then
	CFLAGS="-O2"
fi

export CXXFLAGS="${CXXFLAGS} -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1"
export CFLAGS="${CFLAGS} -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1"

if [ ! -z "${TARGET_DIR}" ]; then
	mkdir -p ${TARGET_DIR}/usd/lib
	tar -xvf ${SOURCE_FILE} -C ${TARGET_DIR}
fi

pushd ${TARGET_DIR}/OpenUSD-${USD_VER}
# user patch
	if [ -e "$PATCH_FILE" ]; then
		patch -p1 < ${PATCH_FILE}
	fi
        if [ -e "$PATCH3_FILE" ]; then
                patch -p1 < ${PATCH3_FILE}
        fi
        if [ -e "$PATCH4_FILE" ]; then
                patch -p1 < ${PATCH4_FILE}
        fi
# apply internal blender patchset
	if [ -e "$PATCH2_FILE" ]; then
		patch -p1 < ${PATCH2_FILE}
	fi

	cmake \
	    -Wno-dev \
	    -B build \
	    -S . \
	\
	    -DCMAKE_INSTALL_PREFIX:PATH=/usr \
	    -DCMAKE_INSTALL_LIBDIR:PATH=${LIBDIR} \
	    -DCMAKE_INSTALL_LIBEXECDIR:PATH=/usr/libexec \
	    -DCMAKE_INSTALL_RUNSTATEDIR:PATH=/run \
	    -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
	    -DINCLUDE_INSTALL_DIR:PATH=/usr/include \
	    -DLIB_INSTALL_DIR:PATH=${LIBDIR} \
            -DSYSCONF_INSTALL_DIR:PATH=/etc \
            -DSHARE_INSTALL_PREFIX:PATH=/usr/share \
            -DCMAKE_BUILD_TYPE=RelWithDebInfo \
            -DCMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING="-DNDEBUG" \
            -DCMAKE_C_FLAGS_RELWITHDEBINFO:STRING="-DNDEBUG" \
            -DCMAKE_SKIP_RPATH:BOOL=ON \
            -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
            -DCMAKE_MODULE_LINKER_FLAGS:STRING="-Wl,--as-needed -Wl,-z,relro -Wl,-O1 -Wl,--build-id -Wl,--enable-new-dtags" \
	\
	    -DBoost_USE_MULTITHREADED:BOOL=ON \
	    -DBoost_USE_STATIC_LIBS:BOOL=OFF \
	    -DBoost_USE_STATIC_RUNTIME:BOOL=OFF \
	    -DBoost_NO_BOOST_CMAKE:BOOL=ON \
	    -DPXR_BUILD_IMAGING:BOOL=OFF \
	    -DPXR_BUILD_MONOLITHIC:BOOL=ON \
	    -DPXR_MONOLITHIC_IMPORT:STRING=./cmake/defaults/Version.cmake \
	    -DPXR_BUILD_TESTS:BOOL=OFF \
	    -DPXR_BUILD_USD_TOOLS:BOOL=OFF \
	    -DPXR_ENABLE_PYTHON_SUPPORT:BOOL=OFF \
	    -DPXR_BUILD_USDVIEW:BOOL=OFF \
	    -DPXR_SET_INTERNAL_NAMESPACE=usdBlender \
	    -DPXR_VALIDATE_GENERATED_CODE:BOOL=OFF \
	    -DPXR_HEADLESS_TEST_MODE:BOOL=ON \
	    -DTBB_tbb_LIBRARY="${LIBDIR}/libtbb.so" \
	    -DCMAKE_DEBUG_POSTFIX:STRING=_d \
    	    -DCMAKE_CXX_FLAGS_RELEASE:STRING="${CXXFLAGS}" \
	    -DCMAKE_C_FLAGS_RELEASE:STRING="${CFLAGS}" \
	    -DCMAKE_INSTALL_PREFIX:FILEPATH=${TARGET_DIR}/usd

	cmake --build "build" -j$(nproc) --verbose

	(cd build
	    make install INSTALL="/usr/bin/install -p"
	 cd ..
	)
	
	# lib is not installed above, install manually
	cp -p ./build/pxr/libusd_usd_m.a ${TARGET_DIR}/usd/lib/
popd
exit 0