Skip to content

Commit 55ec73a

Browse files
committed
Update build system
1 parent 98879ea commit 55ec73a

10 files changed

+201
-773
lines changed

.appveyor.yml

Lines changed: 0 additions & 102 deletions
This file was deleted.

.clang-format

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1-
# the official .clang-format style for https://github.com/taocpp
1+
# The Art of C++
2+
# https://github.com/taocpp
3+
4+
# Copyright (c) 2016-2025 Dr. Colin Hirsch and Daniel Frey
5+
# Distributed under the Boost Software License, Version 1.0.
6+
# (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
7+
8+
# This is our official .clang-format style for https://github.com/taocpp
29
#
310
# clang-format -i -style=file $(find . -name '[^.]*.[hc]pp')
411

512
Language: Cpp
6-
Standard: Cpp11
13+
Standard: Latest
714

815
AccessModifierOffset: -3
916
AlignAfterOpenBracket: Align

.clang-tidy

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,41 @@
1+
# The Art of C++
2+
# https://github.com/taocpp
3+
4+
# Copyright (c) 2016-2025 Dr. Colin Hirsch and Daniel Frey
5+
# Distributed under the Boost Software License, Version 1.0.
6+
# (See accompanying file LICENSE_1_0.txt or copy at https://www.boost.org/LICENSE_1_0.txt)
7+
8+
# Note: The misc-include-cleaner is generally useful,
9+
# but produces false positives with Oid/InvalidOid and libpq-fe.h.
10+
# For that reason it is disabled, but it should be enabled
11+
# manually from time to time.
12+
113
Checks: >-
214
bugprone-*,
15+
-bugprone-easily-swappable-parameters,
316
cppcoreguidelines-slicing,
417
cppcoreguidelines-special-member-functions,
518
google-build-explicit-make-pair,
619
google-build-namespaces,
720
google-default-arguments,
821
google-global-names-in-headers,
922
google-readability-casting,
23+
llvm-*,
1024
misc-*,
25+
-misc-include-cleaner,
1126
-misc-non-private-member-variables-in-classes,
1227
-misc-unused-alias-decls,
13-
llvm-*,
1428
modernize-*,
1529
-modernize-avoid-c-arrays,
1630
-modernize-concat-nested-namespaces,
1731
-modernize-raw-string-literal,
1832
performance-*,
1933
readability-*,
2034
-readability-avoid-const-params-in-decls,
35+
-readability-function-cognitive-complexity,
36+
-readability-identifier-length,
2137
-readability-magic-numbers,
38+
-readability-non-const-parameter,
2239
2340
CheckOptions:
2441
- { key: readability-identifier-naming.ClassCase, value: lower_case }

.github/workflows/clang-format.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: clang-format
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- 'README.md'
7+
pull_request:
8+
paths-ignore:
9+
- 'README.md'
10+
11+
jobs:
12+
clang-format:
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
- uses: DoozyX/[email protected]
18+
with:
19+
extensions: 'hpp,cpp'

.github/workflows/clang-tidy.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: clang-tidy
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- 'README.md'
7+
pull_request:
8+
paths-ignore:
9+
- 'README.md'
10+
11+
jobs:
12+
clang-tidy:
13+
runs-on: ubuntu-24.04
14+
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- run: sudo apt-get update -yq
19+
20+
- run: sudo apt-get install -yq clang-tidy
21+
22+
- run: find include/ src/ -name '*.?pp' | xargs -I '{}' clang-tidy --quiet '{}' -- -Iinclude

.github/workflows/linux.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Linux
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- 'README.md'
7+
pull_request:
8+
paths-ignore:
9+
- 'README.md'
10+
11+
jobs:
12+
linux-next:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
compiler:
17+
- g++-13
18+
- g++-14
19+
- clang++-16
20+
- clang++-17
21+
- clang++-18
22+
build_type: [Debug, Release]
23+
24+
runs-on: ubuntu-24.04
25+
26+
env:
27+
CXX: ${{ matrix.compiler }}
28+
29+
steps:
30+
- uses: actions/checkout@v4
31+
32+
- run: cmake -E make_directory build
33+
34+
- working-directory: build/
35+
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
36+
37+
- working-directory: build/
38+
run: cmake --build .
39+
40+
- working-directory: build/
41+
run: ctest --output-on-failure

.github/workflows/macos.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: macOS
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- 'README.md'
7+
pull_request:
8+
paths-ignore:
9+
- 'README.md'
10+
11+
jobs:
12+
xcode-macos-14:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
xcode: ['15']
17+
build_type: [Debug, Release]
18+
19+
runs-on: macos-14
20+
21+
steps:
22+
- uses: actions/checkout@v4
23+
24+
- run: cmake -E make_directory build
25+
26+
- working-directory: build/
27+
run: cmake $GITHUB_WORKSPACE
28+
29+
- working-directory: build/
30+
run: cmake --build . --config ${{ matrix.build_type }}
31+
32+
- working-directory: build/
33+
run: ctest --output-on-failure

.github/workflows/windows.yml

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
name: Windows
2+
3+
on:
4+
push:
5+
paths-ignore:
6+
- 'README.md'
7+
pull_request:
8+
paths-ignore:
9+
- 'README.md'
10+
11+
jobs:
12+
vs2022:
13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
build_type: [Debug, Release]
17+
18+
runs-on: windows-latest
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- run: cmake -E make_directory build
24+
25+
- shell: bash
26+
working-directory: build/
27+
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 17 2022"
28+
29+
- working-directory: build/
30+
run: cmake --build . --config ${{ matrix.build_type }}
31+
32+
- working-directory: build/
33+
run: ctest --output-on-failure
34+
35+
vs2022-clang:
36+
strategy:
37+
fail-fast: false
38+
matrix:
39+
build_type: [Debug, Release]
40+
41+
runs-on: windows-latest
42+
43+
steps:
44+
- uses: actions/checkout@v4
45+
46+
- run: cmake -E make_directory build
47+
48+
- shell: bash
49+
working-directory: build/
50+
run: cmake $GITHUB_WORKSPACE -G "Visual Studio 17 2022" -T ClangCL
51+
52+
- working-directory: build/
53+
run: cmake --build . --config ${{ matrix.build_type }}
54+
55+
- working-directory: build/
56+
run: ctest --output-on-failure

0 commit comments

Comments
 (0)