-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathbuild_vt_sample.sh
executable file
·66 lines (56 loc) · 1.73 KB
/
build_vt_sample.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/env bash
set -ex
source_dir=${1}
build_dir=${2}
inclusion_type=""
if test "$VT_INCLUSION_TYPE" = "TPL"
then
inclusion_type="-Dbuild_with_tpl=1"
elif test "$VT_INCLUSION_TYPE" = "EXT_LIB"
then
inclusion_type="-Dbuild_with_libs=1"
fi
# Don't build vt-sample-project on Alpine Linux
is_alpine="$(grep ID < /etc/os-release | grep -c alpine || true)"
if test "$is_alpine" -eq 0 && test "${VT_CI_BUILD:-0}" -eq 1
then
export VT=${source_dir}
export VT_BUILD=${build_dir}/vt
export VT_INSTALL=${VT_BUILD}/install/cmake
export CHECKPOINT=${build_dir}/checkpoint
cd "$VT_BUILD"
if test "$VT_INCLUSION_TYPE" = "TPL"
then
echo "Clean up before building vt-sample-project"
cmake --build . --target clean
rm -rf "$VT_INSTALL"
fi
if test "$VT_INCLUSION_TYPE" = "EXT_LIB"
then
VT="$VT_INSTALL"
CHECKPOINT=""
fi
git clone https://github.com/DARMA-tasking/vt-sample-project
mkdir -p vt-sample-project/build
cd vt-sample-project/build || exit
cmake -G "${CMAKE_GENERATOR:-Ninja}" \
-Dvt_DIR="${VT}" \
-Dcheckpoint_DIR="${CHECKPOINT}" \
-Dkokkos_DISABLE:BOOL=1 \
-Dkokkos_kernels_DISABLE:BOOL=1 \
-Dvt_trace_only="1" \
-Dvt_build_examples="0" \
-Dvt_build_tests="0" \
-Dvt_external_fmt="${VT_EXTERNAL_FMT:-0}" \
-DCMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD:-17}" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=1 \
-DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE:-Release}" \
-DCMAKE_CXX_COMPILER="${CXX:-c++}" \
-DCMAKE_C_COMPILER="${CC:-cc}" \
"$inclusion_type" \
..
cmake --build .
# Try to actually run samples
mpiexec -n 2 ./vt-runtime-sample
mpiexec -n 2 ./vt-trace-only-sample
fi