#!/bin/bash set -e ISPC_VERSION=${1:-1.24.0} SCRIPT_DIR=$(cd "$(dirname "$BASH_SOURCE")" ; pwd) pushd ${SCRIPT_DIR}/../.. UE_MODULE_LOCATION=`pwd` ISPC_SOURCE_LOCATION="$UE_MODULE_LOCATION/ispc-$ISPC_VERSION/" ISPC_BUILD_LOCATION="$ISPC_SOURCE_LOCATION/build/" ISPC_INSTALL_LOCATION="$UE_MODULE_LOCATION/ispc/" LLVM_INSTALL_LOCATION="$UE_MODULE_LOCATION/llvm/" CORES=$(getconf _NPROCESSORS_ONLN) export PATH=$PATH:"$LLVM_INSTALL_LOCATION/bin":"$ISPC_INSTALL_LOCATION/bin" rm -rf $ISPC_INSTALL_LOCATION rm -rf $ISPC_BUILD_LOCATION mkdir $ISPC_INSTALL_LOCATION mkdir $ISPC_BUILD_LOCATION CMAKE_ARGS=( -DCMAKE_INSTALL_PREFIX="$ISPC_INSTALL_LOCATION" -DCMAKE_BUILD_TYPE=Release -DARM_ENABLED=ON -DWASM_ENABLED=OFF -DISPC_INCLUDE_EXAMPLES=OFF -DISPC_INCLUDE_DPCPP_EXAMPLES=OFF -DISPC_INCLUDE_TESTS=OFF -DISPC_INCLUDE_BENCHMARKS=OFF -DISPC_INCLUDE_UTILS=OFF -DISPC_PREPARE_PACKAGE=OFF -DISPC_CROSS=ON -DISPC_WINDOWS_TARGET=OFF -DISPC_LINUX_TARGET=ON -DISPC_FREEBSD_TARGET=ON -DISPC_MACOS_TARGET=OFF -DISPC_IOS_TARGET=OFF -DISPC_ANDROID_TARGET=ON -DISPC_PS_TARGET=OFF -DISPC_STATIC_STDCXX_LINK=ON ) pushd $ISPC_BUILD_LOCATION echo Configuring build for ISPC version $ISPC_VERSION... cmake -G "Unix Makefiles" $ISPC_SOURCE_LOCATION "${CMAKE_ARGS[@]}" echo Building ISPC for Release... cmake --build . --config Release --parallel ${CORES} echo Installing ISPC for Release... cmake --install . --config Release popd #p4 edit "$UE_MODULE_LOCATION/bin/Linux/ispc" #cp "$ISPC_INSTALL_LOCATION/bin/ispc" "$UE_MODULE_LOCATION/bin/Linux/ispc" popd echo Done.