Skip to content

Commit d8bc6f2

Browse files
libear Authorstomjnixon
libear Authors
authored andcommitted
initial commit
0 parents  commit d8bc6f2

File tree

126 files changed

+30642
-0
lines changed

Some content is hidden

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

126 files changed

+30642
-0
lines changed

.clang-format

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
BasedOnStyle: Google
2+
NamespaceIndentation: All
3+
AlignTrailingComments: false

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
build*
2+
*.swp
3+
.clang_complete
4+
.DS_Store
5+
.vscode
6+
docs/.build
7+
docs/venv

.gitlab-ci.yml

+310
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,310 @@
1+
.brew_install_template: &install_osx_dependencies |
2+
brew install yaml-cpp
3+
4+
.windows_dep_install: &install_win_dependencies |
5+
vcpkg install yaml-cpp:$WINDOWS_ARCH-windows
6+
7+
.build_template: &build_script |
8+
mkdir build
9+
mkdir ci-artifacts
10+
cd build
11+
cmake -G Ninja \
12+
-DCMAKE_INSTALL_PREFIX=../ci-artifacts \
13+
-DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS \
14+
-DEAR_UNIT_TESTS=$EAR_UNIT_TESTS \
15+
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE ..
16+
cmake --build .
17+
if [ "$EAR_UNIT_TESTS" = "ON" ]; then CTEST_OUTPUT_ON_FAILURE=TRUE cmake --build . --target test; fi
18+
cmake --build . --target install --config $CMAKE_BUILD_TYPE
19+
20+
.build_template_win: &build_script_windows |
21+
mkdir build
22+
mkdir ci-artifacts
23+
cd build
24+
cmd.exe /C "vcvarsall.bat $WINDOWS_ARCH && cmake .. \
25+
-G Ninja \
26+
-DCMAKE_TOOLCHAIN_FILE=$VCPKG_TOOLCHAIN_FILE \
27+
-DCMAKE_INSTALL_PREFIX=../ci-artifacts \
28+
-DBUILD_SHARED_LIBS=$BUILD_SHARED_LIBS \
29+
-DEAR_UNIT_TESTS=$EAR_UNIT_TESTS \
30+
-DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE \
31+
-DBOOST_ROOT=$BOOST_DIR .."
32+
cmd.exe /C "vcvarsall.bat $WINDOWS_ARCH && cmake --build ."
33+
if [ "$EAR_UNIT_TESTS" = "ON" ]; then cmd.exe /C "vcvarsall.bat $WINDOWS_ARCH && set CTEST_OUTPUT_ON_FAILURE=1 && cmake --build . --target test --config $CMAKE_BUILD_TYPE"; fi
34+
cmd.exe /C "vcvarsall.bat $WINDOWS_ARCH && cmake --build . --target install --config $CMAKE_BUILD_TYPE"
35+
36+
variables:
37+
BUILD_SHARED_LIBS: 'OFF'
38+
EAR_UNIT_TESTS: 'ON'
39+
CMAKE_BUILD_TYPE: 'Release'
40+
DOCKER_REGISTRY: 'gitlab.irt.de:3443/ear-production-suite/libear-docker-images'
41+
GIT_SUBMODULE_STRATEGY: "normal"
42+
WINDOWS_ARCH: 'x64'
43+
44+
stages:
45+
- build
46+
- package
47+
48+
debian:static:
49+
stage: build
50+
image: $DOCKER_REGISTRY:debian
51+
tags:
52+
- docker
53+
script:
54+
- *build_script
55+
artifacts:
56+
paths:
57+
- build/*
58+
- ci-artifacts
59+
expire_in: 2h
60+
61+
debian:shared:
62+
stage: build
63+
image: $DOCKER_REGISTRY:debian
64+
variables:
65+
BUILD_SHARED_LIBS: 'ON'
66+
EAR_UNIT_TESTS: 'OFF'
67+
tags:
68+
- docker
69+
script:
70+
- *build_script
71+
artifacts:
72+
paths:
73+
- build/*
74+
- ci-artifacts
75+
expire_in: 2h
76+
77+
ubuntu:static:
78+
stage: build
79+
image: $DOCKER_REGISTRY:ubuntu
80+
tags:
81+
- docker
82+
script:
83+
- *build_script
84+
artifacts:
85+
paths:
86+
- build/*
87+
- ci-artifacts
88+
expire_in: 2h
89+
90+
ubuntu:shared:
91+
stage: build
92+
image: $DOCKER_REGISTRY:ubuntu
93+
variables:
94+
BUILD_SHARED_LIBS: 'ON'
95+
EAR_UNIT_TESTS: 'OFF'
96+
tags:
97+
- docker
98+
script:
99+
- *build_script
100+
artifacts:
101+
paths:
102+
- build/*
103+
- ci-artifacts
104+
expire_in: 2h
105+
106+
fedora:static:
107+
stage: build
108+
image: $DOCKER_REGISTRY:fedora
109+
tags:
110+
- docker
111+
script:
112+
- *build_script
113+
artifacts:
114+
paths:
115+
- build/*
116+
- ci-artifacts
117+
expire_in: 2h
118+
119+
fedora:shared:
120+
stage: build
121+
image: $DOCKER_REGISTRY:fedora
122+
variables:
123+
BUILD_SHARED_LIBS: 'ON'
124+
EAR_UNIT_TESTS: 'OFF'
125+
tags:
126+
- docker
127+
script:
128+
- *build_script
129+
artifacts:
130+
paths:
131+
- build/*
132+
- ci-artifacts
133+
expire_in: 2h
134+
135+
coverage:
136+
stage: build
137+
image: $DOCKER_REGISTRY:ubuntu
138+
variables:
139+
CMAKE_BUILD_TYPE: 'Coverage'
140+
tags:
141+
- docker
142+
script:
143+
- *build_script
144+
- gcovr -e '.*submodules.*' -e '.*examples.*' .
145+
coverage: '/TOTAL.+ ([0-9]{1,3}%)/'
146+
147+
macos:shared:
148+
stage: build
149+
tags:
150+
- macos
151+
variables:
152+
BUILD_SHARED_LIBS: 'ON'
153+
EAR_UNIT_TESTS: 'OFF'
154+
script:
155+
- *install_osx_dependencies
156+
- *build_script
157+
artifacts:
158+
paths:
159+
- build/*
160+
- ci-artifacts
161+
expire_in: 2h
162+
163+
macos:static:
164+
stage: build
165+
tags:
166+
- macos
167+
script:
168+
- *install_osx_dependencies
169+
- *build_script
170+
artifacts:
171+
paths:
172+
- build/*
173+
- ci-artifacts
174+
expire_in: 2h
175+
176+
win32:shared:
177+
before_script:
178+
- rm -rf $(cygpath $VCPKG_ROOT)/installed || true
179+
- mv vcpkg-installed $(cygpath $VCPKG_ROOT)/installed || true
180+
after_script:
181+
- mv $(cygpath $VCPKG_ROOT)/installed vcpkg-installed || true
182+
stage: build
183+
tags:
184+
- windows10
185+
- virtualbox
186+
variables:
187+
BUILD_SHARED_LIBS: 'ON'
188+
EAR_UNIT_TESTS: 'OFF'
189+
WINDOWS_ARCH: 'x86'
190+
script:
191+
- *install_win_dependencies
192+
- *build_script_windows
193+
cache:
194+
key: "vcpkg-$WINDOWS_ARCH"
195+
paths:
196+
- vcpkg-installed
197+
artifacts:
198+
paths:
199+
- build/*
200+
- ci-artifacts
201+
expire_in: 2h
202+
203+
win32:static:
204+
before_script:
205+
- rm -rf $(cygpath $VCPKG_ROOT)/installed || true
206+
- mv vcpkg-installed $(cygpath $VCPKG_ROOT)/installed || true
207+
after_script:
208+
- mv $(cygpath $VCPKG_ROOT)/installed vcpkg-installed || true
209+
stage: build
210+
tags:
211+
- windows10
212+
- virtualbox
213+
variables:
214+
WINDOWS_ARCH: 'x86'
215+
script:
216+
- *install_win_dependencies
217+
- *build_script_windows
218+
artifacts:
219+
paths:
220+
- build/*
221+
- ci-artifacts
222+
expire_in: 2h
223+
cache:
224+
key: "vcpkg-$WINDOWS_ARCH"
225+
paths:
226+
- vcpkg-installed
227+
228+
win64:shared:
229+
before_script:
230+
- rm -rf $(cygpath $VCPKG_ROOT)/installed || true
231+
- mv vcpkg-installed $(cygpath $VCPKG_ROOT)/installed || true
232+
after_script:
233+
- mv $(cygpath $VCPKG_ROOT)/installed vcpkg-installed || true
234+
stage: build
235+
tags:
236+
- windows10
237+
- virtualbox
238+
variables:
239+
BUILD_SHARED_LIBS: 'ON'
240+
EAR_UNIT_TESTS: 'OFF'
241+
script:
242+
- *install_win_dependencies
243+
- *build_script_windows
244+
artifacts:
245+
paths:
246+
- build/*
247+
- ci-artifacts
248+
expire_in: 2h
249+
cache:
250+
key: "vcpkg-$WINDOWS_ARCH"
251+
paths:
252+
- vcpkg-installed
253+
254+
win64:static:
255+
before_script:
256+
- rm -rf $(cygpath $VCPKG_ROOT)/installed || true
257+
- mv vcpkg-installed $(cygpath $VCPKG_ROOT)/installed || true
258+
after_script:
259+
- mv $(cygpath $VCPKG_ROOT)/installed vcpkg-installed || true
260+
stage: build
261+
tags:
262+
- windows10
263+
- virtualbox
264+
script:
265+
- *install_win_dependencies
266+
- *build_script_windows
267+
artifacts:
268+
paths:
269+
- build/*
270+
- ci-artifacts
271+
expire_in: 2h
272+
cache:
273+
key: "vcpkg-$WINDOWS_ARCH"
274+
paths:
275+
- vcpkg-installed
276+
277+
.package-base:
278+
stage: package
279+
script:
280+
- echo "no-op, just collecting things for packaging ..."
281+
artifacts:
282+
paths:
283+
- ci-artifacts/*
284+
expire_in: 20d
285+
only:
286+
- tags
287+
- master
288+
289+
macos:package-static:
290+
extends: .package-base
291+
tags:
292+
- macos
293+
dependencies:
294+
- macos:static
295+
296+
win32:package-static:
297+
extends: .package-base
298+
tags:
299+
- windows10
300+
- virtualbox
301+
dependencies:
302+
- win32:static
303+
304+
win64:package-static:
305+
extends: .package-base
306+
tags:
307+
- windows10
308+
- virtualbox
309+
dependencies:
310+
- win64:static

.gitmodules

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "submodules/eigen"]
2+
path = submodules/eigen
3+
url = https://github.com/eigenteam/eigen-git-mirror.git

.readthedocs.yml

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
python:
2+
version: 3
3+
requirements_file: docs/requirements.txt

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Changelog
2+
3+
## 0.9.0
4+
5+
Initial release.

0 commit comments

Comments
 (0)