#!/bin/sh
set -e

device=${1:-CPP}
CUDA=OFF
test "$device" = "CUDA" && CUDA=ON || CUDA=OFF

set -x

cmake \
	-S . \
	-B $AUTOPKGTEST_TMP \
	${2:+-DCMAKE_CXX_COMPILER=$2} \
	-DTHRUST_ENABLE_MULTICONFIG=ON \
	-DTHRUST_MULTICONFIG_ENABLE_DIALECT_CPP11=OFF \
	-DTHRUST_MULTICONFIG_ENABLE_DIALECT_CPP14=ON \
	-DTHRUST_MULTICONFIG_ENABLE_DIALECT_CPP17=ON \
	-DTHRUST_MULTICONFIG_ENABLE_SYSTEM_CPP=ON \
	-DTHRUST_MULTICONFIG_ENABLE_SYSTEM_CUDA=$CUDA \
	-DTHRUST_MULTICONFIG_ENABLE_SYSTEM_TBB=ON \
	-DTHRUST_MULTICONFIG_ENABLE_SYSTEM_OMP=ON \
	-DTHRUST_MULTICONFIG_WORKLOAD=LARGE \
	-DTHRUST_DEVICE_SYSTEM_OPTIONS=$device \
	-D_THRUST_CMAKE_DIR=/usr/share/cmake/thrust \
	-Wno-dev
cd $AUTOPKGTEST_TMP
make
test "$device" = "CUDA" || ctest
