-
Notifications
You must be signed in to change notification settings - Fork 9
/
develop.dockerfile
80 lines (70 loc) · 2.42 KB
/
develop.dockerfile
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
ARG compiler=gcc-12
ARG arch=amd64
ARG ubuntu=22.04
FROM lifflander1/vt:${arch}-ubuntu-${ubuntu}-${compiler}-cpp
# All ARGs are invalidated after FROM instruction, so it has to be redefined
ARG compiler=gcc-12
ARG proxy=""
ENV https_proxy=${proxy} \
http_proxy=${proxy}
ENV DEBIAN_FRONTEND=noninteractive
ARG zoltan_enabled=0
ARG ZOLTAN_INSTALL_DIR=/trilinos-install
ENV ZOLTAN_DIR=${ZOLTAN_INSTALL_DIR}
RUN if test ${zoltan_enabled} -eq 1; then \
apt-get update -y -q && \
apt-get install -y -q --no-install-recommends \
gfortran-$(echo ${compiler} | cut -d- -f2) && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*; \
ln -s \
"$(which gfortran-$(echo ${compiler} | cut -d- -f2))" \
/usr/bin/gfortran; \
./zoltan.sh -j4 ${ZOLTAN_INSTALL_DIR}; \
fi
COPY . /vt
ARG VT_LB_ENABLED
ARG VT_TRACE_ENABLED
ARG VT_TRACE_RUNTIME_ENABLED
ARG VT_MIMALLOC_ENABLED
ARG VT_DOXYGEN_ENABLED
ARG VT_ASAN_ENABLED
ARG VT_UBSAN_ENABLED
ARG VT_WERROR_ENABLED
ARG VT_POOL_ENABLED
ARG VT_PRODUCTION_BUILD_ENABLED
ARG VT_ZOLTAN_ENABLED
ARG CMAKE_BUILD_TYPE
ARG VT_EXTENDED_TESTS_ENABLED
ARG VT_FCONTEXT_ENABLED
ARG VT_NO_COLOR_ENABLED
ARG BUILD_SHARED_LIBS
ARG CMAKE_CXX_STANDARD
ARG VT_DEBUG_VERBOSE
ARG VT_CI_BUILD
ENV VT_LB_ENABLED=${VT_LB_ENABLED} \
VT_TRACE_ENABLED=${VT_TRACE_ENABLED} \
VT_MIMALLOC_ENABLED=${VT_MIMALLOC_ENABLED} \
VT_DOXYGEN_ENABLED=${VT_DOXYGEN_ENABLED} \
VT_TRACE_RUNTIME_ENABLED=${VT_TRACE_RUNTIME} \
VT_ASAN_ENABLED=${VT_ASAN_ENABLED} \
VT_UBSAN_ENABLED=${VT_UBSAN_ENABLED} \
VT_WERROR_ENABLED=${VT_WERROR_ENABLED} \
VT_POOL_ENABLED=${VT_POOL_ENABLED} \
VT_PRODUCTION_BUILD_ENABLED=${VT_PRODUCTION_BUILD_ENABLED} \
VT_MPI_GUARD_ENABLED=${VT_MPI_GUARD_ENABLED} \
VT_ZOLTAN_ENABLED=${VT_ZOLTAN_ENABLED} \
VT_EXTENDED_TESTS_ENABLED=${VT_EXTENDED_TESTS_ENABLED} \
VT_UNITY_BUILD_ENABLED=${VT_UNITY_BUILD_ENABLED} \
VT_FCONTEXT_ENABLED=${VT_FCONTEXT_ENABLED} \
VT_DIAGNOSTICS_ENABLED=${VT_DIAGNOSTICS_ENABLED} \
VT_DIAGNOSTICS_RUNTIME_ENABLED=${VT_DIAGNOSTICS_RUNTIME_ENABLED} \
VT_NO_COLOR_ENABLED=${VT_NO_COLOR_ENABLED} \
CMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} \
BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} \
CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \
VT_DEBUG_VERBOSE=${VT_DEBUG_VERBOSE} \
VT_CI_BUILD=${VT_CI_BUILD}
RUN /vt/ci/build_cpp.sh /vt /build
RUN /vt/ci/test_cpp.sh /vt /build
RUN /vt/ci/build_vt_sample.sh /vt /build