Skip to content

Commit

Permalink
🎉 Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tristetemps666 committed Jul 29, 2023
0 parents commit 91bddbe
Show file tree
Hide file tree
Showing 17 changed files with 579 additions and 0 deletions.
90 changes: 90 additions & 0 deletions .clang-format
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
---
BasedOnStyle: Google
AccessModifierOffset: '-4'
AlignAfterOpenBracket: BlockIndent
AlignConsecutiveMacros: 'true'
AlignConsecutiveAssignments: 'true'
AlignConsecutiveDeclarations: 'true'
AlignEscapedNewlines: Left
AlignOperands: 'true'
AlignTrailingComments: 'true'
AllowAllArgumentsOnNextLine: 'true'
AllowAllConstructorInitializersOnNextLine: 'true'
AllowAllParametersOfDeclarationOnNextLine: 'true'
AllowShortBlocksOnASingleLine: 'false'
AllowShortCaseLabelsOnASingleLine: 'true'
AllowShortFunctionsOnASingleLine: Inline
AllowShortIfStatementsOnASingleLine: Never
AllowShortLambdasOnASingleLine: Inline
AllowShortLoopsOnASingleLine: 'false'
AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: 'true'
AlwaysBreakTemplateDeclarations: 'Yes'
BinPackArguments: 'true'
BinPackParameters: 'true'
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Custom
BraceWrapping:
AfterCaseLabel: true
AfterClass: false
AfterControlStatement: true
AfterEnum: false
AfterFunction: true
AfterNamespace: false
AfterObjCDeclaration: true
AfterStruct: false
AfterUnion: false
AfterExternBlock: true
BeforeCatch: true
BeforeElse: true
BeforeLambdaBody: false
IndentBraces: false
SplitEmptyFunction: false
SplitEmptyRecord: false
SplitEmptyNamespace: true
BreakBeforeTernaryOperators: 'true'
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
BreakStringLiterals: 'true'
ColumnLimit: '0'
CompactNamespaces: 'true'
ConstructorInitializerAllOnOneLineOrOnePerLine: 'true'
ConstructorInitializerIndentWidth: '4'
ContinuationIndentWidth: '4'
Cpp11BracedListStyle: 'true'
DerivePointerAlignment: 'false'
DisableFormat: 'false'
ExperimentalAutoDetectBinPacking: 'false'
FixNamespaceComments: 'true'
IncludeBlocks: Merge
IndentCaseLabels: 'false'
IndentPPDirectives: None
IndentWidth: '4'
IndentWrappedFunctionNames: 'true'
KeepEmptyLinesAtTheStartOfBlocks: 'false'
Language: Cpp
MaxEmptyLinesToKeep: '1'
NamespaceIndentation: None
PointerAlignment: Left
ReflowComments: 'true'
SortIncludes: 'true'
SortUsingDeclarations: 'false'
SpaceAfterCStyleCast: 'false'
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'
Standard: Auto
TabWidth: '4'
UseTab: Never
35 changes: 35 additions & 0 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
Checks: '
*,
-misc-non-private-member-variables-in-classes,
-*braces-around-statements
-readability-implicit-bool-conversion
-readability-identifier-length,
-cppcoreguidelines-avoid-magic-numbers,
-readability-magic-numbers,
-readability-redundant-access-specifiers,
-readability-redundant-string-init,
-cppcoreguidelines-pro-type-union-access,
-cppcoreguidelines-pro-bounds-array-to-pointer-decay, -hicpp-no-array-decay,
-hicpp-signed-bitwise,
-hicpp-named-parameter, -readability-named-parameter,
-misc-no-recursion,
-performance-no-automatic-move,
-cppcoreguidelines-pro-type-vararg, -hicpp-vararg,
-google-runtime-references,
-fuchsia-default-arguments-*,
-fuchsia-overloaded-operator,
-fuchsia-trailing-return,
-hicpp-uppercase-literal-suffix, -readability-uppercase-literal-suffix,
-abseil-*,
-altera-*,
-android-*,
-boost-*,
-linuxkernel-*,
-llvm-*,
-llvmlibc-*,
-mpi-*,
-objc-*,
-openmp-*,
-zircon-*,
'
4 changes: 4 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
github: [CoolLibs]
custom: https://utip.io/CoolLab
# patreon: octocat
# tidelift: npm/octo-package
217 changes: 217 additions & 0 deletions .github/workflows/build_and_run_tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,217 @@
name: Build and Run tests

on:
push:
branches: [ main ]

pull_request:
branches: [ main ]


env:
TARGET: webcam_info-tests

jobs:
#-----------------------------------------------------------------------------------------------
Windows_MSVC_Debug:
name: Windows MSVC Debug
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure CMake
run: cmake .\tests -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_C_COMPILER=cl -D CMAKE_CXX_COMPILER=cl

- name: Build
run: cmake --build ${{github.workspace}}\build --config Debug --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}\build\Debug\${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Windows_MSVC_Release:
name: Windows MSVC Release
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure CMake
run: cmake .\tests -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_C_COMPILER=cl -D CMAKE_CXX_COMPILER=cl

- name: Build
run: cmake --build ${{github.workspace}}\build --config Release --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}\build\Release\${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Windows_Clang_Debug:
name: Windows Clang Debug
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure CMake
run: cmake .\tests -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -T ClangCL

- name: Build
run: cmake --build ${{github.workspace}}\build --config Debug --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}\build\Debug\${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Windows_Clang_Release:
name: Windows Clang Release
runs-on: windows-2022
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure CMake
run: cmake .\tests -B ${{github.workspace}}\build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -T ClangCL

- name: Build
run: cmake --build ${{github.workspace}}\build --config Release --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}\build\Release\${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Linux_GCC_Debug:
name: Linux GCC Debug
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Update package
run: sudo apt-get update -y

- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev

- name: Configure CMake
run: cmake ./tests -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=gcc-11 -D CMAKE_CXX_COMPILER=g++-11

- name: Build
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}/build/${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Linux_GCC_Release:
name: Linux GCC Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Update package
run: sudo apt-get update -y

- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev

- name: Configure CMake
run: cmake ./tests -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_C_COMPILER=gcc-11 -D CMAKE_CXX_COMPILER=g++-11

- name: Build
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}/build/${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Linux_Clang_Debug:
name: Linux Clang Debug
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Update package
run: sudo apt-get update -y

- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev

- name: Configure CMake
run: cmake ./tests -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++

- name: Build
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}/build/${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
Linux_Clang_Release:
name: Linux Clang Release
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Update package
run: sudo apt-get update -y

- name: Install glfw dependencies
run: sudo apt-get install -y libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev mesa-common-dev

- name: Configure CMake
run: cmake ./tests -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_C_COMPILER=clang -D CMAKE_CXX_COMPILER=clang++

- name: Build
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}/build/${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
MacOS_Clang_Debug:
name: MacOS Clang Debug
runs-on: macos-11
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure CMake
run: cmake ./tests -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_BUILD_TYPE=Debug -D CMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -D CMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++

- name: Build
run: cmake --build ${{github.workspace}}/build --config Debug --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}/build/${{env.TARGET}} -nogpu

#-----------------------------------------------------------------------------------------------
MacOS_Clang_Release:
name: MacOS Clang Release
runs-on: macos-11
steps:
- uses: actions/checkout@v3
with:
submodules: recursive

- name: Configure CMake
run: cmake ./tests -B ${{github.workspace}}/build -DWARNINGS_AS_ERRORS_FOR_WEBCAM_INFO=ON -D CMAKE_BUILD_TYPE=Release -D CMAKE_C_COMPILER=$(brew --prefix llvm)/bin/clang -D CMAKE_CXX_COMPILER=$(brew --prefix llvm)/bin/clang++

- name: Build
run: cmake --build ${{github.workspace}}/build --config Release --target ${{env.TARGET}}

- name: Run
run: ${{github.workspace}}/build/${{env.TARGET}} -nogpu
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
tests/build
build/*
!build/imgui.ini
.vs
.vscode/*
!.vscode/settings.json
.cache
.DS_Store
__pycache__
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "tooling"]
path = tooling
url = https://github.com/CoolLibs/tooling
3 changes: 3 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"cmake.sourceDirectory": "${workspaceFolder}/tests"
}
Loading

0 comments on commit 91bddbe

Please sign in to comment.