Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 40 additions & 56 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -3,83 +3,67 @@ AccessModifierOffset: -4
AlignAfterOpenBracket: BlockIndent
AlignArrayOfStructures: Right
AlignConsecutiveAssignments: None
AlignEscapedNewlines: Left
AlignEscapedNewlines: DontAlign
AlignOperands: Align
AlignTrailingComments: true
AlignTrailingComments: false
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Empty
AllowShortCaseLabelsOnASingleLine: false
AllowShortCompoundRequirementOnASingleLine: true
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: All
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: true
BinPackArguments: false
BinPackParameters: false
BreakBeforeBraces: Attach
#BraceWrapping:
# BeforeCatch: false
# BeforeElse: false
# AfterControlStatement: MultiLine
# BeforeLambdaBody: false
BreakAfterAttributes: Leave
BreakArrays: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeConceptDeclarations: Always
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
ContinuationIndentWidth: 4
ColumnLimit: 120
CompactNamespaces: false
ContinuationIndentWidth: 8
Cpp11BracedListStyle: false
EmptyLineAfterAccessModifier: Leave
EmptyLineBeforeAccessModifier: LogicalBlock
IncludeBlocks: Preserve
IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: Indent
IndentGotoLabels: false
IndentPPDirectives: None
IndentRequiresClause: false
IndentWidth: 4
IndentWrappedFunctionNames: true
InsertNewlineAtEOF: true
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 2
LambdaBodyIndentation: Signature
Language: Cpp
LineEnding: LF
MaxEmptyLinesToKeep: 1
NamespaceIndentation: All
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: NextLineOnly
PenaltyReturnTypeOnItsOwnLine: 300
PenaltyExcessCharacter: 20
PointerAlignment: Left
ReflowComments: false
QualifierAlignment: Right
ReferenceAlignment: Pointer
RequiresClausePosition: WithPreceding
RequiresExpressionIndentation: OuterScope
SeparateDefinitionBlocks: Always
SortIncludes: CaseSensitive
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
- Regex: '<[[:alnum:].]+>'
Priority: 4
- Regex: '.*'
Priority: 1
IncludeBlocks: Preserve
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
Cpp11BracedListStyle: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpaceInEmptyBlock: true
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpaceInEmptyBlock: false
SpacesInParens: Never
TabWidth: 4
UseTab: Never
QualifierAlignment: Right
InsertNewlineAtEOF: true
InsertTrailingCommas: Wrapped
BinPackArguments: false
44 changes: 25 additions & 19 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,45 @@ on:

jobs:
build-linux:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
strategy:
matrix:
include:
- compiler-name: GCC 13
cc: gcc-13
cxx: g++-13
- compiler-name: GCC 14
cc: gcc-14
cxx: g++-14
install-script: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install -y g++-13
sudo apt install -y g++-14
build-type: Debug
- compiler-name: GCC 13
cc: gcc-13
cxx: g++-13
- compiler-name: GCC 14
cc: gcc-14
cxx: g++-14
install-script: |
sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y
sudo apt update
sudo apt install -y g++-13
sudo apt install -y g++-14
build-type: Release
- compiler-name: Clang 17
cc: clang-17
cxx: clang++-17
- compiler-name: Clang 18
cc: clang-18
cxx: clang++-18
install-script: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
sudo apt install libstdc++-12-dev
sudo ./llvm.sh 18
sudo apt install libstdc++-14-dev
build-type: Debug
- compiler-name: Clang 17
cc: clang-17
cxx: clang++-17
- compiler-name: Clang 18
cc: clang-18
cxx: clang++-18
install-script: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
sudo apt install libstdc++-12-dev
sudo ./llvm.sh 18
sudo apt install libstdc++-14-dev
build-type: Release
name: ${{ matrix.compiler-name }} ${{ matrix.build-type }}

steps:
- uses: actions/checkout@v3
Expand All @@ -64,6 +65,8 @@ jobs:
run: sudo sysctl vm.mmap_rnd_bits=28
- name: Build
run: cmake --build build
- name: Install
run: cmake --install build --prefix install
- name: Run Tests
run: ctest --test-dir build --verbose --output-on-failure

Expand All @@ -72,6 +75,7 @@ jobs:
strategy:
matrix:
build-type: [ Debug, Release ]
name: MSVC ${{ matrix.build-type }}
steps:
- uses: actions/checkout@v3
- name: Install Ninja
Expand All @@ -86,5 +90,7 @@ jobs:
run: cmake -B build -G "Ninja" -DCMAKE_CXX_STANDARD=23 -DCMAKE_BUILD_TYPE=${{ matrix.build-type }}
- name: Build with Ninja
run: cmake --build build
- name: Install
run: cmake --install build --prefix install
- name: Run Tests
run: ctest --test-dir build --verbose --output-on-failure
Loading