Skip to content

Commit 4cf59e1

Browse files
author
jenkins
committed
git subrepo pull (merge) ore
subrepo: subdir: "ore" merged: "cb4b23889e" upstream: origin: "git@gitlab.acadiasoft.net:qs/ore.git" branch: "master" commit: "eb9d47f4d5" git-subrepo: version: "0.4.6" origin: "https://github.com/ingydotnet/git-subrepo" commit: "110b9eb"
2 parents b68d198 + eb9d47f commit 4cf59e1

127 files changed

Lines changed: 33650 additions & 307 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.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: C/C++ CI Windows
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: windows-2022
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+
$Url = "https://boostorg.jfrog.io/artifactory/main/release/1.72.0/binaries/boost_1_72_0-msvc-14.2-64.exe"
34+
(New-Object System.Net.WebClient).DownloadFile($Url, "$env:TEMP\boost.exe")
35+
Start-Process -Wait -FilePath "$env:TEMP\boost.exe" "/SILENT","/SP-","/SUPPRESSMSGBOXES","/DIR=C:\local\boost"
36+
choco install -y ninja
37+
- name: cmake configure and build
38+
env:
39+
BOOST_ROOT: C:\local\boost
40+
shell: cmd
41+
run: |
42+
mkdir build
43+
cd build
44+
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Vc\Auxiliary\Build\vcvarsall.bat" amd64 -vcvars_ver=14.3 || exit 1
45+
cmake .. -GNinja -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 -DBOOST_INCLUDEDIR=C:\local\boost -DBOOST_LIBRARYDIR=C:\local\boost\lib64-msvc-14.3 -L
46+
cmake --build . -j 2 --verbose

.github/workflows/linux_build.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
name: C/C++ CI
1+
name: C/C++ CI Ubuntu
22

33
on:
44
push:
5-
branches: master
5+
branches: [master]
66
pull_request:
7-
branches: master
7+
branches: [master]
88
types: [ready_for_review, opened, synchronize, reopened]
99
paths:
1010
- .github/workflows/linux_build.yaml

.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

App/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.15)
22

33
project(App CXX)
44

5-
include("../cmake/commonSettings.cmake")
5+
include(commonSettings)
66

77
get_library_name("OREPlusBase" OREPBASE_LIB_NAME)
88
get_library_name("OREAnalytics" OREA_LIB_NAME)

CMakeLists.txt

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

1515
include(CTest)
1616

17-
include("cmake/commonSettings.cmake")
17+
# Path for local cmake modules
18+
if(NOT "${CMAKE_CURRENT_LIST_DIR}/cmake" IN_LIST CMAKE_MODULE_PATH)
19+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_LIST_DIR}/cmake")
20+
endif()
21+
include(commonSettings)
1822

1923
set(USE_GLOBAL_ORE_BUILD ON)
2024

CMakePresets.json

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,26 @@
158158
"QL_BUILD_TEST_SUITE": false,
159159
"QL_BUILD_BENCHMARK": false,
160160
"QL_ENABLE_SESSIONS": true,
161+
"ORE_BUILD_DOC": false,
162+
"BUILD_SHARED_LIBS": false
163+
},
164+
"condition": {
165+
"type": "equals",
166+
"lhs": "${hostSystemName}",
167+
"rhs": "Linux"
168+
}
169+
},
170+
{
171+
"name": "linux-clang-base",
172+
"hidden": true,
173+
"binaryDir": "${sourceDir}/build/${presetName}",
174+
"cacheVariables": {
175+
"CMAKE_CXX_COMPILER": "clang++",
176+
"BOOST_ROOT": "$env{BOOST}",
177+
"QL_BUILD_EXAMPLES": false,
178+
"QL_BUILD_TEST_SUITE": false,
179+
"QL_BUILD_BENCHMARK": false,
180+
"QL_ENABLE_SESSIONS": true,
161181
"ORE_BUILD_DOC": false
162182
},
163183
"condition": {
@@ -192,6 +212,11 @@
192212
"hidden": true,
193213
"generator": "Ninja"
194214
},
215+
{
216+
"name": "_make",
217+
"hidden": true,
218+
"generator": "Unix Makefiles"
219+
},
195220
{
196221
"name": "linux-gcc-ninja-debug",
197222
"inherits": [
@@ -215,6 +240,54 @@
215240
"_ninja",
216241
"_relwithdebinfo"
217242
]
243+
},
244+
{
245+
"name": "linux-clang-debug",
246+
"inherits": [
247+
"linux-clang-base",
248+
"_make",
249+
"_debug"
250+
]
251+
},
252+
{
253+
"name": "linux-clang-release",
254+
"inherits": [
255+
"linux-clang-base",
256+
"_make",
257+
"_release"
258+
]
259+
},
260+
{
261+
"name": "linux-clang-relwithdebinfo",
262+
"inherits": [
263+
"linux-clang-base",
264+
"_make",
265+
"_relwithdebinfo"
266+
]
267+
},
268+
{
269+
"name": "linux-clang-ninja-debug",
270+
"inherits": [
271+
"linux-clang-base",
272+
"_ninja",
273+
"_debug"
274+
]
275+
},
276+
{
277+
"name": "linux-clang-ninja-release",
278+
"inherits": [
279+
"linux-clang-base",
280+
"_ninja",
281+
"_release"
282+
]
283+
},
284+
{
285+
"name": "linux-clang-ninja-relwithdebinfo",
286+
"inherits": [
287+
"linux-clang-base",
288+
"_ninja",
289+
"_relwithdebinfo"
290+
]
218291
}
219292
],
220293
"buildPresets": [

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.

0 commit comments

Comments
 (0)