1+ ARG debian_tag
2+
3+ # ore build
4+
5+ FROM debian:${debian_tag} as orebuild
6+
7+ ARG num_cores
8+ ARG cmake_build_type
9+
10+ COPY CMakeLists.txt /ore/CMakeLists.txt
11+ COPY .clang-format /ore/.clang-format
12+ COPY .gitignore /ore/.gitignore
13+ COPY CMakePresets.json /ore/CMakePresets.json
14+ COPY News.txt /ore/News.txt
15+ COPY README.md /ore/README.md
16+ COPY license.txt /ore/license.txt
17+ COPY licenseheader.txt /ore/licenseheader.txt
18+ COPY ore.props /ore/ore.props
19+ COPY runCmakeVS.cmd /ore/runCmakeVS.cmd
20+ COPY QuantLib /ore/QuantLib
21+ COPY QuantExt /ore/QuantExt
22+ COPY OREData /ore/OREData
23+ COPY OREAnalytics /ore/OREAnalytics
24+ COPY App /ore/App
25+ COPY ThirdPartyLibs /ore/ThirdPartyLibs
26+ COPY ORETest /ore/ORETest
27+ COPY cmake /ore/cmake
28+ COPY Docker /ore/Docker
29+ COPY Docs ore/Docs
30+ COPY Examples ore/Examples
31+ COPY Tools ore/Tools
32+ COPY xsd ore/xsd
33+
34+ RUN apt-get update && apt-get upgrade -y \
35+ && apt-get install -f -y build-essential libbz2-dev cmake ninja-build zlib1g-dev libboost-all-dev opencl-headers ocl-icd-opencl-dev
36+
37+ RUN cd / \
38+ && mkdir -p build_ore && cd build_ore \
39+ && cmake /ore -GNinja -DCMAKE_BUILD_TYPE=${cmake_build_type} -DORE_BUILD_DOC=OFF -DORE_USE_ZLIB=ON -DQL_ENABLE_SESSIONS=ON -DORE_ENABLE_OPENCL=ON
40+
41+ RUN cd /build_ore \
42+ && cmake --build . -- -j${num_cores} install
43+
44+ RUN ldconfig
45+
46+ # ore
47+
48+ FROM debian:${debian_tag} as ore
49+
50+ COPY --from=orebuild /usr/local/include /usr/local/include
51+ COPY --from=orebuild /usr/local/lib/ /usr/local/lib
52+ COPY --from=orebuild /usr/local/bin/ /usr/local/bin
53+ COPY --from=orebuild /ore /ore
54+ COPY --from=orebuild /usr/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu
55+
56+ RUN ldconfig
57+
58+ CMD bash
0 commit comments