Skip to content

Commit 2f13e57

Browse files
authoredJun 3, 2023
Initial commit
0 parents  commit 2f13e57

28 files changed

+1076
-0
lines changed
 

‎.clang-format

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
BasedOnStyle: Google
3+
AccessModifierOffset: '-2'
4+
AlignTrailingComments: 'true'
5+
AllowAllParametersOfDeclarationOnNextLine: 'false'
6+
AlwaysBreakTemplateDeclarations: 'No'
7+
BreakBeforeBraces: Attach
8+
ColumnLimit: '100'
9+
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
10+
IncludeBlocks: Regroup
11+
IndentPPDirectives: AfterHash
12+
IndentWidth: '2'
13+
NamespaceIndentation: All
14+
BreakBeforeBinaryOperators: All
15+
BreakBeforeTernaryOperators: 'true'
16+
...

‎.cmake-format

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
format:
2+
tab_size: 2
3+
line_width: 100
4+
dangle_parens: true
5+
6+
parse:
7+
additional_commands:
8+
cpmaddpackage:
9+
pargs:
10+
nargs: '*'
11+
flags: []
12+
spelling: CPMAddPackage
13+
kwargs: &cpmaddpackagekwargs
14+
NAME: 1
15+
FORCE: 1
16+
VERSION: 1
17+
GIT_TAG: 1
18+
DOWNLOAD_ONLY: 1
19+
GITHUB_REPOSITORY: 1
20+
GITLAB_REPOSITORY: 1
21+
GIT_REPOSITORY: 1
22+
SVN_REPOSITORY: 1
23+
SVN_REVISION: 1
24+
SOURCE_DIR: 1
25+
DOWNLOAD_COMMAND: 1
26+
FIND_PACKAGE_ARGUMENTS: 1
27+
NO_CACHE: 1
28+
GIT_SHALLOW: 1
29+
URL: 1
30+
URL_HASH: 1
31+
URL_MD5: 1
32+
DOWNLOAD_NAME: 1
33+
DOWNLOAD_NO_EXTRACT: 1
34+
HTTP_USERNAME: 1
35+
HTTP_PASSWORD: 1
36+
OPTIONS: +
37+
cpmfindpackage:
38+
pargs:
39+
nargs: '*'
40+
flags: []
41+
spelling: CPMFindPackage
42+
kwargs: *cpmaddpackagekwargs
43+
packageproject:
44+
pargs:
45+
nargs: '*'
46+
flags: []
47+
spelling: packageProject
48+
kwargs:
49+
NAME: 1
50+
VERSION: 1
51+
NAMESPACE: 1
52+
INCLUDE_DIR: 1
53+
INCLUDE_DESTINATION: 1
54+
BINARY_DIR: 1
55+
COMPATIBILITY: 1
56+
VERSION_HEADER: 1
57+
DEPENDENCIES: +

‎.github/workflows/documentation.yaml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
tags:
6+
- "*"
7+
8+
env:
9+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
10+
11+
jobs:
12+
build:
13+
name: Build and publish documentation
14+
runs-on: macos-latest
15+
steps:
16+
- uses: actions/checkout@v3
17+
18+
- uses: actions/cache@v3
19+
with:
20+
path: "**/cpm_modules"
21+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
22+
23+
- name: Install dependencies
24+
run: |
25+
brew install doxygen
26+
pip3 install jinja2 Pygments
27+
28+
- name: Build
29+
run: |
30+
cmake -Sdocumentation -Bbuild
31+
cmake --build build --target GenerateDocs
32+
33+
- name: Publish
34+
uses: peaceiris/actions-gh-pages@v3
35+
with:
36+
github_token: ${{ secrets.GITHUB_TOKEN }}
37+
publish_dir: ./build/doxygen/html

‎.github/workflows/install.yml

+44
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Install
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- uses: actions/cache@v3
25+
with:
26+
path: "**/cpm_modules"
27+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
28+
29+
- name: build and install library
30+
run: |
31+
cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release
32+
sudo cmake --build build --target install
33+
rm -rf build
34+
35+
- name: configure
36+
run: cmake -Stest -Bbuild -DTEST_INSTALLED_VERSION=1
37+
38+
- name: build
39+
run: cmake --build build --config Debug -j4
40+
41+
- name: test
42+
run: |
43+
cd build
44+
ctest --build-config Debug

‎.github/workflows/macos.yml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: MacOS
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
16+
17+
jobs:
18+
build:
19+
runs-on: macos-latest
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- uses: actions/cache@v3
25+
with:
26+
path: "**/cpm_modules"
27+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
28+
29+
- name: configure
30+
run: cmake -Stest -Bbuild -DCMAKE_BUILD_TYPE=Debug
31+
32+
- name: build
33+
run: cmake --build build -j4
34+
35+
- name: test
36+
run: |
37+
cd build
38+
ctest --build-config Debug

‎.github/workflows/standalone.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Standalone
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
23+
- uses: actions/cache@v3
24+
with:
25+
path: "**/cpm_modules"
26+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
27+
28+
- name: configure
29+
run: cmake -Sstandalone -Bbuild -DCMAKE_BUILD_TYPE=Debug
30+
31+
- name: build
32+
run: cmake --build build -j4
33+
34+
- name: run
35+
run: ./build/Greeter

‎.github/workflows/style.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Style
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
15+
16+
jobs:
17+
build:
18+
runs-on: ubuntu-latest
19+
20+
steps:
21+
- uses: actions/checkout@v3
22+
23+
- uses: actions/cache@v3
24+
with:
25+
path: "**/cpm_modules"
26+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
27+
28+
- name: Install format dependencies
29+
run: pip3 install clang-format==14.0.6 cmake_format==0.6.11 pyyaml
30+
31+
- name: configure
32+
run: cmake -Stest -Bbuild
33+
34+
- name: check style
35+
run: cmake --build build --target check-format

‎.github/workflows/ubuntu.yml

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Ubuntu
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
16+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
17+
18+
jobs:
19+
build:
20+
runs-on: ubuntu-latest
21+
22+
steps:
23+
- uses: actions/checkout@v3
24+
25+
- uses: actions/cache@v3
26+
with:
27+
path: "**/cpm_modules"
28+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
29+
30+
- name: configure
31+
run: cmake -Stest -Bbuild -DENABLE_TEST_COVERAGE=1 -DCMAKE_BUILD_TYPE=Debug
32+
33+
- name: build
34+
run: cmake --build build -j4
35+
36+
- name: test
37+
run: |
38+
cd build
39+
ctest --build-config Debug
40+
41+
- name: collect code coverage
42+
run: bash <(curl -s https://codecov.io/bash) || echo "Codecov did not collect coverage reports"

‎.github/workflows/windows.yml

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Windows
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- main
8+
pull_request:
9+
branches:
10+
- master
11+
- main
12+
13+
env:
14+
CTEST_OUTPUT_ON_FAILURE: 1
15+
CPM_SOURCE_CACHE: ${{ github.workspace }}/cpm_modules
16+
17+
jobs:
18+
build:
19+
runs-on: windows-latest
20+
21+
steps:
22+
- uses: actions/checkout@v3
23+
24+
- uses: actions/cache@v3
25+
with:
26+
path: "**/cpm_modules"
27+
key: ${{ github.workflow }}-cpm-modules-${{ hashFiles('**/CMakeLists.txt', '**/*.cmake') }}
28+
29+
- name: configure
30+
run: cmake -Stest -Bbuild
31+
32+
- name: build
33+
run: cmake --build build --config Debug -j4
34+
35+
- name: test
36+
run: |
37+
cd build
38+
ctest --build-config Debug

‎.gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/build*
2+
/.vscode
3+
/cpm_modules
4+
.DS_Store

0 commit comments

Comments
 (0)
Please sign in to comment.