Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial c #1

Merged
merged 18 commits into from
Jul 5, 2024
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
88 changes: 88 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Generated from CLion C/C++ Code Style settings
BasedOnStyle: LLVM
Cpp11BracedListStyle: true
AccessModifierOffset: -4
AlignConsecutiveMacros: true
AlignTrailingComments: false
AlignAfterOpenBracket: Align
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AlignArrayOfStructures: Left
AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: None
AllowShortLoopsOnASingleLine: false
AlwaysBreakAfterReturnType: None
AlwaysBreakTemplateDeclarations: Yes
BreakBeforeBraces: Custom
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
AfterCaseLabel: false
AfterClass: false
AfterExternBlock: false
AfterControlStatement: Never
AfterEnum: false
AfterFunction: false
AfterNamespace: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: true
# BraceBreakingStyle: Attach
BreakBeforeBinaryOperators: None
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakInheritanceList: BeforeColon
ColumnLimit: 0
CommentPragmas: '^[^ ]'
CompactNamespaces: false
ContinuationIndentWidth: 8
IncludeBlocks: Preserve
IncludeCategories:
- Regex: '^"(llvm|llvm-c|clang|clang-c)/'
Priority: 2
SortPriority: 0
CaseSensitive: false
- Regex: '^(<|"(gtest|gmock|isl|json)/)'
Priority: 3
SortPriority: 0
CaseSensitive: false
- Regex: '.*'
Priority: 1
SortPriority: 0
CaseSensitive: false
IndentCaseLabels: true
IndentPPDirectives: None
IndentWidth: 4
InsertTrailingCommas: Wrapped
KeepEmptyLinesAtTheStartOfBlocks: true
MaxEmptyLinesToKeep: 2
NamespaceIndentation: All
ObjCSpaceAfterProperty: false
ObjCSpaceBeforeProtocolList: true
PointerAlignment: Right
ReflowComments: false
SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
TabWidth: 4
UseTab: Never
32 changes: 32 additions & 0 deletions .github/workflows/c-codestyle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: C Codestyle

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- '**/*.c'
- '.github/workflows/c-codestyle.yml'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- '**/*.c'
- '.github/workflows/c-codestyle.yml'

jobs:
check-c-codestyle:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Set up Python 3.10
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Install dependencies
run: sudo apt install clang-format

- name: Check c codestyle
run: python3 resources/.lint/c/formatter.py -c -v
81 changes: 81 additions & 0 deletions .github/workflows/c-demo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
name: C Demo

on:
workflow_dispatch:
push:
branches: [ main ]
paths:
- 'demo/c/**'
- '!demo/c/README.md'
- '.github/workflows/c-demo.yml'
pull_request:
branches: [ main, 'v[0-9]+.[0-9]+' ]
paths:
- 'demo/c/**'
- '!demo/c/README.md'
- '.github/workflows/c-demo.yml'

defaults:
run:
working-directory: demo/c
shell: bash

jobs:
build-github-hosted:
runs-on: ${{ matrix.os }}

strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
include:
- os: ubuntu-latest
pv_speaker_platform: linux
- os: windows-latest
pv_speaker_platform: windows
- os: macos-latest
pv_speaker_platform: mac-arm64

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Create build directory
run: cmake -B ./build -S. -DPV_SPEAKER_PLATFORM="${{ matrix.pv_speaker_platform }}"

- name: Build demo
run: cmake --build ./build

- name: Run demo
run: ./build/pv_speaker_demo --show_audio_devices

build-self-hosted:
runs-on: ${{ matrix.machine }}
strategy:
matrix:
machine: [rpi3-32, rpi3-64, rpi4-32, rpi4-64, rpi5-64]
include:
- machine: rpi3-32
pv_speaker_platform: raspberry-pi3
- machine: rpi3-64
pv_speaker_platform: raspberry-pi3-64
- machine: rpi4-32
pv_speaker_platform: raspberry-pi4
- machine: rpi4-64
pv_speaker_platform: raspberry-pi4-64
- machine: rpi5-64
pv_speaker_platform: raspberry-pi5-64

steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Create build directory
run: cmake -B ./build -S . -DPV_SPEAKER_PLATFORM="${{ matrix.pv_speaker_platform }}"

- name: Build demo
run: cmake --build ./build

- name: Run demo
run: ./build/pv_speaker_demo --show_audio_devices
Loading
Loading