Skip to content

Commit 69ec0e0

Browse files
committed
initial c++20 version of SCL
1 parent d1c5151 commit 69ec0e0

File tree

198 files changed

+11743
-10912
lines changed

Some content is hidden

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

198 files changed

+11743
-10912
lines changed

Diff for: .clang-tidy

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Checks: '-*,bugprone-*,performance-*,readability-*,google-global-names-in-headers,cert-dcl59-cpp,-bugprone-easily-swappable-parameters,-readability-identifier-length,-readability-magic-numbers,-readability-function-cognitive-complexity,-readability-function-size'
1+
Checks: '-*,bugprone-*,performance-*,readability-*,google-global-names-in-headers,cert-dcl59-cpp,-bugprone-easily-swappable-parameters,-readability-identifier-length,-readability-magic-numbers,-readability-function-cognitive-complexity,-readability-function-size,-readability-convert-member-functions-to-static'
22

33
CheckOptions:
44
- key: performance-unnecessary-value-param.AllowedTypes
@@ -22,6 +22,9 @@ CheckOptions:
2222
# readability-magic-numbers:
2323
# Too strict.
2424
#
25+
# readability-convert-member-functions-to-static
26+
# Too many false positives.
27+
#
2528
# readability-function-cognitive-complexity
2629
# Catch2.
2730
#

Diff for: .github/workflows/Build.yml

+7-4
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@ on:
77
- '!master'
88

99
jobs:
10-
build:
11-
name: Release
12-
runs-on: ubuntu-latest
10+
release:
11+
name: release
12+
runs-on: ubuntu-22.04
1313

1414
steps:
1515
- uses: actions/checkout@v2
1616

1717
- name: Build
1818
shell: bash
1919
run: |
20-
cmake . -B build
20+
cmake . -B build -DSCL_BUILD_DOCUMENTATION=OFF
2121
cmake --build build
2222
23+
- name: Test
24+
shell: bash
25+
run: cmake --build build --target test

Diff for: .github/workflows/Checks.yml

+6-22
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,9 @@ on:
77
- '!master'
88

99
jobs:
10-
documentation:
11-
name: Documentation
12-
runs-on: ubuntu-20.04
13-
steps:
14-
- uses: actions/checkout@v2
15-
16-
- name: Setup
17-
run: sudo apt-get install -y doxygen
18-
19-
- name: Documentation
20-
shell: bash
21-
run: ./scripts/build_documentation.sh
22-
2310
headers:
24-
name: Header files
25-
runs-on: ubuntu-latest
11+
name: headers
12+
runs-on: ubuntu-22.04
2613
steps:
2714
- uses: actions/checkout@v2
2815

@@ -33,17 +20,14 @@ jobs:
3320
run: ./scripts/check_header_guards.py
3421

3522
style:
36-
name: Code style
37-
runs-on: ubuntu-latest
23+
name: style
24+
runs-on: ubuntu-22.04
3825
steps:
3926
- uses: actions/checkout@v2
4027

4128
- name: Setup
42-
run: sudo apt-get install -y clang-format
29+
run: sudo apt-get install -y clang-format-15
4330

4431
- name: Check
4532
shell: bash
46-
run: |
47-
find . -type f \( -iname "*.h" -o -iname "*.cc" \) -exec clang-format -n {} \; &> checks.txt
48-
cat checks.txt
49-
test ! -s checks.txt
33+
run: ./scripts/check_formatting.sh

Diff for: .github/workflows/Coverage.yml

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Coverage
2+
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
- '!master'
8+
9+
jobs:
10+
coverage:
11+
name: coverage
12+
runs-on: ubuntu-24.04
13+
env:
14+
COV_THRESHOLD_LINES: 95
15+
COV_THRESHOLD_FUNCS: 90
16+
17+
steps:
18+
- uses: actions/checkout@v2
19+
20+
- name: Setup
21+
shell: bash
22+
run: sudo apt-get install -y lcov
23+
24+
- name: Build
25+
shell: bash
26+
run: |
27+
cmake . -B build -DSCL_BUILD_TEST_WITH_COVERAGE=ON -DSCL_BUILD_DOCUMENTATION=OFF
28+
cmake --build build
29+
30+
- name: Compute coverage
31+
shell: bash
32+
run: cmake --build build --target coverage | tee cov.txt
33+
34+
- name: Check coverage
35+
shell: bash
36+
run: ./scripts/check_coverage.sh cov.txt

Diff for: .github/workflows/Documentation.yml

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Documentation
2+
3+
on:
4+
push:
5+
branches:
6+
- '*'
7+
- '!master'
8+
9+
jobs:
10+
documentation:
11+
name: documentation
12+
runs-on: ubuntu-22.04
13+
14+
steps:
15+
- uses: actions/checkout@v2
16+
17+
- name: Cache doxygen
18+
id: cache-doxygen
19+
uses: actions/cache@v4
20+
with:
21+
path: ~/doxygen
22+
key: ${{ runner.os }}-doxygen
23+
24+
- name: Install doxygen
25+
if: ${{ steps.cache-doxygen.outputs.cache-hit != 'true' }}
26+
run: |
27+
curl https://www.doxygen.nl/files/doxygen-1.10.0.linux.bin.tar.gz -o doxygen.tar.gz
28+
mkdir ~/doxygen
29+
tar xf doxygen.tar.gz -C ~/doxygen --strip-components=1
30+
31+
- name: Generate documentation
32+
shell: bash
33+
run: |
34+
cmake . -B build -DSCL_BUILD_TESTS=OFF -DSCL_DOXYGEN_BIN=$HOME/doxygen/bin/doxygen
35+
cmake --build build --target documentation

Diff for: .github/workflows/Test.yml

-52
This file was deleted.

Diff for: .gitignore

+4
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,11 @@
22
.cache/
33
.clangd
44
build/
5+
buildDebug/
6+
buildRelease/
7+
buildOMP/
58
compile_commands.json
69

710
# do not track compiled documentation files
811
doc/html
12+

0 commit comments

Comments
 (0)