Skip to content

Commit 4f11be0

Browse files
committed
Merge branch 'master' of gitlab.acadiasoft.net:qs/ore
2 parents 4736162 + 7c99f14 commit 4f11be0

85 files changed

Lines changed: 2184 additions & 14446 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Docker/.env

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
1-
TAG=latest
21
DEBIAN_TAG=11.7
2+
3+
# it's recommended to include CMAKE_BUILD_TYPE and BOOST_VARIANT in QL_TAG, ORE_TAG, BOOST_TAG
4+
# to distinguish a release build from a debug build
5+
36
QL_TAG=1.30_00d2fced87
7+
ORE_TAG=latest
48
BOOST_TAG=1.78.0
59
BOOST_DIR=1_78_0
10+
11+
# debug or release
12+
13+
BOOST_VARIANT=release
14+
15+
# Release, RelWithDebInfo, Debug
16+
17+
CMAKE_BUILD_TYPE=Release
618
NUM_CORES=16

Docker/Dockerfile-Boost-Debug

Lines changed: 0 additions & 29 deletions
This file was deleted.

Docker/Dockerfile-ORE

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# syntax = nexus3.acadiasoft.net:4445/docker/dockerfile:experimental
22
ARG quantlib_version=${QL_TAG}
3+
ARG cmake_build_type=${CMAKE_BUILD_TYPE}
34
FROM env_quantlib:${quantlib_version}
45

56
MAINTAINER Quaternion Risk Management
@@ -27,7 +28,7 @@ RUN cd /ore \
2728
&& find -regex ".*\.\(sh\|in\|ac\|am\)" -exec dos2unix {} ';' \
2829
&& cp Docker/CMakeLists_ORE.txt CMakeLists.txt \
2930
&& mkdir -p build.ore && cd build.ore \
30-
&& cmake .. -DORE_BUILD_DOC=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS="-mavx2" -DORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DORE_USE_ZLIB=ON
31+
&& cmake .. -DORE_BUILD_DOC=ON -DCMAKE_BUILD_TYPE=${cmake_build_type} -DCMAKE_CXX_FLAGS="-mavx2" -DORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DORE_USE_ZLIB=ON -D ORE_ENABLE_OPENCL=ON
3132

3233
WORKDIR /ore/build.ore
3334
RUN --mount=type=cache,target=/ccache/ make -j ${num_cores} \

Docker/Dockerfile-ORE-App

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ARG ore_version=latest
22
ARG test_tag=latest
3+
ARG cmake_build_type=Release
34

45
FROM env_ore:${ore_version} as env_ore
56
FROM env_ore_test:${test_tag}

Docker/Dockerfile-ORE-Debug

Lines changed: 0 additions & 35 deletions
This file was deleted.

Docker/Dockerfile-QuantLib

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# syntax = nexus3.acadiasoft.net:4445/docker/dockerfile:experimental
22
ARG boost_version=latest
3+
ARG boost_variant=release
34
FROM build_env_boost:${boost_version}
45

56
MAINTAINER Quaternion Risk Management
@@ -8,6 +9,9 @@ LABEL Description="Build QuantLib and add to the Boost build environment"
89
# Argument for number of cores to use while building
910
ARG num_cores
1011

12+
# Argument that chooses cmake build type
13+
ARG cmake_build_type
14+
1115
# Exclusions are performed by .dockerignore
1216
COPY QuantLib /ore/QuantLib
1317

@@ -23,7 +27,7 @@ ENV CCACHE_DIR="/ccache"
2327
RUN cd /ore/QuantLib \
2428
&& find -regex ".*\.\(sh\|in\|ac\|am\)" -exec dos2unix {} ';' \
2529
&& mkdir -p build.ql && cd build.ql \
26-
&& cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_FLAGS="-D BOOST_ENABLE_ASSERT_HANDLER -mavx2" -DQL_ENABLE_SESSIONS=ON -DQL_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON
30+
&& cmake .. -DCMAKE_BUILD_TYPE=${cmake_build_type} -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_EXTENSIONS=OFF -DCMAKE_CXX_FLAGS="-D BOOST_ENABLE_ASSERT_HANDLER -mavx2" -DQL_ENABLE_SESSIONS=ON -DQL_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON
2731

2832
WORKDIR /ore/QuantLib/build.ql
2933
RUN --mount=type=cache,target=/ccache/ make -j ${num_cores} \

Docker/Dockerfile-QuantLib-Debug

Lines changed: 0 additions & 25 deletions
This file was deleted.

Docker/Dockerfile-multistage

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
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
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
docker-compose --env-file Docker/.env -f Docker/docker-compose-multistage.yml build

Docker/docker-compose-boost-debug.yml

Lines changed: 0 additions & 14 deletions
This file was deleted.

0 commit comments

Comments
 (0)