Skip to content

Commit 9b47c4d

Browse files
committed
Merge branch 'master' into 'master'
merge from master Closes QPR-12027, QPR-9557, QPR-12108, QPR-12156, and QPR-12144 See merge request qs/ore-github!22
2 parents 15dd117 + d55b851 commit 9b47c4d

496 files changed

Lines changed: 143411 additions & 91100 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.

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[submodule "QuantLib"]
22
path = QuantLib
3-
url = https://github.com/OpenSourceRisk/QuantLib.git
3+
url = git@gitlab.acadiasoft.net:qs/quantlib.git
44
branch = master
55
ignore = dirty

Docker/.env

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ DEBIAN_TAG=11.7
33
# it's recommended to include CMAKE_BUILD_TYPE and BOOST_VARIANT in QL_TAG, ORE_TAG, BOOST_TAG
44
# to distinguish a release build from a debug build
55

6-
QL_TAG=1.31.1_55f433ce8
6+
QL_TAG=1.31.1_d2327d5a7135
77
ORE_TAG=latest
88
BOOST_TAG=1.78.0
99
BOOST_DIR=1_78_0

Docker/CMakeLists_ORE.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ option(ORE_USE_ZLIB "Use compression for boost::iostreams" ON)
1010

1111
include(CTest)
1212

13-
include("cmake/commonSettings.cmake")
13+
# Path for local cmake modules
14+
if(NOT "${CMAKE_CURRENT_LIST_DIR}/cmake" IN_LIST CMAKE_MODULE_PATH)
15+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
16+
endif()
17+
include(commonSettings)
1418

1519
add_link_directory_if_exists("${QUANTLIB_SOURCE_DIR}/build/ql")
1620

Docker/Dockerfile-Boost

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

Docker/Dockerfile-ORE

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,51 @@
1-
# syntax = nexus3.acadiasoft.net:4445/docker/dockerfile:experimental
2-
ARG quantlib_version=${QL_TAG}
3-
ARG cmake_build_type=${CMAKE_BUILD_TYPE}
4-
FROM env_quantlib:${quantlib_version}
1+
# syntax = docker/dockerfile:1.2
2+
ARG debian_tag
3+
FROM debian:${debian_tag}
54

65
MAINTAINER Quaternion Risk Management
7-
LABEL Description="Build ORE and add to the QuantLib build environment"
6+
LABEL Description="Build QuantLib and add to the Boost build environment"
87

98
# Argument for number of cores to use while building
109
ARG num_cores
1110

12-
# install Eigen
13-
RUN apt-get install -f -y libeigen3-dev
11+
# Argument that chooses cmake build type
12+
ARG cmake_build_type
1413

15-
# Copy ORE sources for libs and app
14+
RUN apt-get update \
15+
&& DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential libbz2-dev autoconf libtool cmake ninja-build zlib1g-dev opencl-headers ocl-icd-opencl-dev libboost-all-dev doxygen graphviz ccache libeigen3-dev \
16+
&& apt-get clean
17+
18+
# Exclusions are performed by .dockerignore
19+
COPY QuantLib /ore/QuantLib
20+
COPY CMakeLists.txt /ore/CMakeLists.txt
21+
COPY QuantLib /ore/QuantLib
1622
COPY QuantExt /ore/QuantExt
1723
COPY OREData /ore/OREData
1824
COPY OREAnalytics /ore/OREAnalytics
1925
COPY App /ore/App
2026
COPY ThirdPartyLibs /ore/ThirdPartyLibs
2127
COPY ORETest /ore/ORETest
2228
COPY cmake /ore/cmake
23-
COPY Docker /ore/Docker
2429

25-
# Need the dos2unix all if building from Windows because the shell
26-
# scripts fail if there are CRLF present in the files
30+
ENV PATH="/usr/lib/ccache:$PATH"
31+
ENV CCACHE_DIR="/ccache"
32+
ENV CCACHE_MAXSIZE="10G"
33+
# needed if QL_USE_PCH is ON
34+
#ENV CCACHE_SLOPPINESS="pch_defines,time_macros,pch_defines,time_macros,include_file_mtime,include_file_ctim"
35+
36+
# - add -fpch-preprocess to CMAKE_CXX_FLAGS when QL_USE_PCH is set to ON
2737
RUN cd /ore \
28-
&& find -regex ".*\.\(sh\|in\|ac\|am\)" -exec dos2unix {} ';' \
29-
&& cp Docker/CMakeLists_ORE.txt CMakeLists.txt \
3038
&& mkdir -p build.ore && cd build.ore \
31-
&& cmake .. -DQL_USE_PCH=OFF -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
32-
39+
&& cmake .. -GNinja -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DQL_USE_PCH=OFF -DORE_BUILD_DOC=ON -DCMAKE_BUILD_TYPE=${cmake_build_type} -DCMAKE_CXX_FLAGS="-D BOOST_ENABLE_ASSERT_HANDLER -mavx2" -DQL_ENABLE_SESSIONS=ON -DQL_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_BENCHMARK=OFF -DORE_ENABLE_PARALLEL_UNIT_TEST_RUNNER=ON -DORE_USE_ZLIB=ON -D ORE_ENABLE_OPENCL=ON
40+
3341
WORKDIR /ore/build.ore
3442
RUN --mount=type=cache,target=/ccache/ ccache -z \
35-
&& make -j ${num_cores} \
43+
&& cmake --build . -- -j ${num_cores} install \
3644
&& ccache -s \
37-
&& make install \
3845
&& make doc_quantext 2>&1 | grep -v "ignoring unsupported tag" \
3946
&& make doc_ored 2>&1 | grep -v "ignoring unsupported tag" \
4047
&& make doc_orea 2>&1 | grep -v "ignoring unsupported tag"
41-
48+
4249
WORKDIR /
4350
RUN mkdir -p html \
4451
&& mkdir /html/ored && cp -r /ore/OREData/doc/html/* /html/ored \

Docker/Dockerfile-QuantLib

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

Docker/Dockerfile-Test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ RUN apt-get update \
55
&& DEBIAN_FRONTEND=noninteractive apt-get install -y dos2unix python3 python3-pip libxml2-utils xsltproc \
66
&& apt-get clean \
77
&& rm -rf /var/lib/apt/lists/* \
8-
&& pip3 install matplotlib pandas nose nose_xunitmp datacompy jsondiff
8+
&& pip3 install matplotlib pandas nose nose_xunitmp datacompy jsondiff lxml xmldiff
99

1010
CMD bash
1111

Docker/Dockerfile-multistage

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,6 @@ ARG num_cores
88
ARG cmake_build_type
99

1010
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
2011
COPY QuantLib /ore/QuantLib
2112
COPY QuantExt /ore/QuantExt
2213
COPY OREData /ore/OREData
@@ -25,11 +16,6 @@ COPY App /ore/App
2516
COPY ThirdPartyLibs /ore/ThirdPartyLibs
2617
COPY ORETest /ore/ORETest
2718
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
3319

3420
RUN apt-get update && apt-get upgrade -y \
3521
&& apt-get install -f -y build-essential libbz2-dev cmake ninja-build zlib1g-dev libboost-all-dev opencl-headers ocl-icd-opencl-dev

Docker/DockerfileRunORE.sh

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#!/bin/sh
22

3-
docker-compose --env-file Docker/.env -f Docker/docker-compose-boost.yml build || exit 1
4-
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose --env-file Docker/.env -f Docker/docker-compose-quantlib.yml build || exit 1
53
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose --env-file Docker/.env -f Docker/docker-compose-ore.yml build || exit 1
64
docker-compose --env-file Docker/.env -f Docker/docker-compose-test.yml build || exit 1
7-
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose --env-file Docker/.env -f Docker/docker-compose-ore-app.yml build || exit 1
5+
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose --env-file Docker/.env -f Docker/docker-compose-ore-app.yml build || exit 1

Docker/docker-compose-boost.yml

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

0 commit comments

Comments
 (0)