69 lines
1.6 KiB
Bash
69 lines
1.6 KiB
Bash
#!/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.
|