Skip to content

Commit 30c365b

Browse files
committed
Merge branch 'master' into 'master'
update for v1.8.11.0 See merge request qs/ore-github!10
2 parents 2edd346 + 2e27eb6 commit 30c365b

465 files changed

Lines changed: 61659 additions & 4482 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.

.github/workflows/linux_build.yaml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: C/C++ CI
2+
3+
on:
4+
push:
5+
branches: master
6+
pull_request:
7+
branches: master
8+
types: [ready_for_review, opened, synchronize, reopened]
9+
paths:
10+
- .github/workflows/linux_build.yaml
11+
- ./App/**
12+
- ./OREAnalytics/**
13+
- '!./OREAnalytics/doc/**'
14+
- ./OREData/**
15+
- '!./OREData/doc/**'
16+
- ./ORETest/**
17+
- ./QuantExt/**
18+
- '!./QuantExt/doc/**'
19+
- CMakeLists.txt
20+
workflow_dispatch:
21+
22+
jobs:
23+
build:
24+
name: building
25+
runs-on: ubuntu-22.04
26+
steps:
27+
- uses: actions/checkout@v3
28+
- name: get QuantLib
29+
run: |
30+
git submodule update --init
31+
- name: Set up Boost
32+
run: |
33+
sudo apt update
34+
sudo apt install -y libboost-all-dev libboost-test-dev
35+
- name: cmake configure
36+
run : mkdir build; cd build; cmake -DCMAKE_BUILD_TYPE=Release -DQL_BUILD_EXAMPLES=false -DQL_BUILD_TEST_SUITE=false -DQL_BUILD_BENCHMARK=false -DQL_ENABLE_SESSIONS=true -DORE_BUILD_DOC=false -G "Ninja" ..
37+
- name: cmake build
38+
run: cd build/; pwd; cmake --build . -j $(nproc)

App/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ project(App CXX)
44

55
include("../cmake/commonSettings.cmake")
66

7-
get_library_name("OREPlusSensitivity" OREPSENSITIVITY_LIB_NAME)
87
get_library_name("OREPlusBase" OREPBASE_LIB_NAME)
98
get_library_name("OREAnalytics" OREA_LIB_NAME)
109
get_library_name("OREData" ORED_LIB_NAME)

App/ore.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,15 @@
2424
#pragma warning(disable : 4503)
2525
#endif
2626

27-
#include <iostream>
2827

2928
#include <orea/app/oreapp.hpp>
29+
3030
#include <ored/utilities/initbuilders.hpp>
3131

32+
#include <qle/version.hpp>
33+
34+
#include <iostream>
35+
3236
#ifdef BOOST_MSVC
3337
#include <orea/auto_link.hpp>
3438
#include <ored/auto_link.hpp>

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ include("cmake/commonSettings.cmake")
1818

1919
set(USE_GLOBAL_ORE_BUILD ON)
2020

21+
# work around boost issue https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271488
22+
set(CMAKE_CXX_STANDARD 14)
2123
add_subdirectory("QuantLib")
24+
set(CMAKE_CXX_STANDARD 17)
25+
2226
add_subdirectory("QuantExt")
2327
add_subdirectory("OREData")
2428
add_subdirectory("OREAnalytics")

CMakePresets.json

Lines changed: 70 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"version": 2,
2+
"version": 3,
33
"configurePresets": [
44
{
55
"name": "windows-ninja-x64-debug",
@@ -146,6 +146,75 @@
146146
]
147147
}
148148
}
149+
},
150+
{
151+
"name": "linux-gcc-base",
152+
"hidden": true,
153+
"binaryDir": "${sourceDir}/build/${presetName}",
154+
"cacheVariables": {
155+
"CMAKE_CXX_COMPILER": "g++",
156+
"BOOST_ROOT": "$env{BOOST}",
157+
"QL_BUILD_EXAMPLES": false,
158+
"QL_BUILD_TEST_SUITE": false,
159+
"QL_BUILD_BENCHMARK": false,
160+
"QL_ENABLE_SESSIONS": true,
161+
"ORE_BUILD_DOC": false
162+
},
163+
"condition": {
164+
"type": "equals",
165+
"lhs": "${hostSystemName}",
166+
"rhs": "Linux"
167+
}
168+
},
169+
{
170+
"name": "_release",
171+
"hidden": true,
172+
"cacheVariables": {
173+
"CMAKE_BUILD_TYPE": "Release"
174+
}
175+
},
176+
{
177+
"name": "_debug",
178+
"hidden": true,
179+
"cacheVariables": {
180+
"CMAKE_BUILD_TYPE": "Debug"
181+
}
182+
},
183+
{
184+
"name": "_relwithdebinfo",
185+
"hidden": true,
186+
"cacheVariables": {
187+
"CMAKE_BUILD_TYPE": "RelWithDebInfo"
188+
}
189+
},
190+
{
191+
"name": "_ninja",
192+
"hidden": true,
193+
"generator": "Ninja"
194+
},
195+
{
196+
"name": "linux-gcc-ninja-debug",
197+
"inherits": [
198+
"linux-gcc-base",
199+
"_ninja",
200+
"_debug"
201+
]
202+
},
203+
{
204+
"name": "linux-gcc-ninja-release",
205+
"inherits": [
206+
"linux-gcc-base",
207+
"_ninja",
208+
"_release"
209+
]
210+
},
211+
{
212+
"name": "linux-gcc-ninja-relwithdebinfo",
213+
"inherits": [
214+
"linux-gcc-base",
215+
"_ninja",
216+
"_relwithdebinfo"
217+
]
149218
}
150219
],
151220
"buildPresets": [

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.30_00d2fced87
6+
QL_TAG=1.31.1_55f433ce8
77
ORE_TAG=latest
88
BOOST_TAG=1.78.0
99
BOOST_DIR=1_78_0

Docker/Dockerfile-ORE

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,12 @@ RUN cd /ore \
2828
&& find -regex ".*\.\(sh\|in\|ac\|am\)" -exec dos2unix {} ';' \
2929
&& cp Docker/CMakeLists_ORE.txt CMakeLists.txt \
3030
&& mkdir -p build.ore && cd build.ore \
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
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
3232

3333
WORKDIR /ore/build.ore
34-
RUN --mount=type=cache,target=/ccache/ make -j ${num_cores} \
34+
RUN --mount=type=cache,target=/ccache/ ccache -z \
35+
&& make -j ${num_cores} \
36+
&& ccache -s \
3537
&& make install \
3638
&& make doc_quantext 2>&1 | grep -v "ignoring unsupported tag" \
3739
&& make doc_ored 2>&1 | grep -v "ignoring unsupported tag" \

Docker/Dockerfile-QuantLib

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,26 @@ RUN apt-get update \
2121

2222
ENV PATH="/usr/lib/ccache:$PATH"
2323
ENV CCACHE_DIR="/ccache"
24+
ENV CCACHE_MAXSIZE="10G"
25+
# needed if QL_USE_PCH is ON
26+
#ENV CCACHE_SLOPPINESS="pch_defines,time_macros,pch_defines,time_macros,include_file_mtime,include_file_ctim"
2427

25-
# Need the dos2unix all if building from Windows because the shell
26-
# scripts fail if there are CRLF present in the files
28+
# - Need the dos2unix all if building from Windows because the shell
29+
# scripts fail if there are CRLF present in the files
30+
# - add -fpch-preprocess to CMAKE_CXX_FLAGS when QL_USE_PCH is set to ON
2731
RUN cd /ore/QuantLib \
2832
&& find -regex ".*\.\(sh\|in\|ac\|am\)" -exec dos2unix {} ';' \
2933
&& mkdir -p build.ql && cd build.ql \
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
34+
&& cmake .. -DQL_USE_PCH=OFF -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 -DQL_BUILD_EXAMPLES=OFF -DQL_BUILD_BENCHMARK=OFF
3135

3236
WORKDIR /ore/QuantLib/build.ql
33-
RUN --mount=type=cache,target=/ccache/ make -j ${num_cores} \
37+
RUN --mount=type=cache,target=/ccache/ ccache -z \
38+
&& make -j ${num_cores} \
39+
&& ccache -s \
3440
&& make install \
3541
&& cd / \
3642
&& cp -r /ore/QuantLib/test-suite /usr/local/include \
3743
&& rm -rf ore \
3844
&& ldconfig
39-
4045

4146
CMD bash

Docker/docker-compose-boost.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ version: '3'
33
services:
44
build_env_boost:
55
image: build_env_boost:${BOOST_TAG}
6+
cap_drop:
7+
- NET_RAW
68
build:
79
context: .
810
dockerfile: Dockerfile-Boost

Docker/docker-compose-latex.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ version: '3'
33
services:
44
qrm_latex:
55
image: qrm/latex:ubuntu
6+
cap_drop:
7+
- NET_RAW
68
build:
79
context: .
810
dockerfile: Dockerfile-Latex

0 commit comments

Comments
 (0)