Compare commits
10 Commits
main
...
c2a82cc76f
| Author | SHA1 | Date | |
|---|---|---|---|
| c2a82cc76f | |||
| 5412d2bf5b | |||
| 9786d5a016 | |||
| 942462563b | |||
| bde69b46aa | |||
| 1f312b3080 | |||
| c6b84168d8 | |||
| b638b2c223 | |||
| e78d648178 | |||
| 6cd9801ef7 |
23
.clang-tidy
Normal file
23
.clang-tidy
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# .clang-tidy
|
||||||
|
---
|
||||||
|
Checks: >
|
||||||
|
-*,
|
||||||
|
bugprone-*,
|
||||||
|
clang-analyzer-*,
|
||||||
|
cppcoreguidelines-*,
|
||||||
|
modernize-*,
|
||||||
|
performance-*,
|
||||||
|
readability-*,
|
||||||
|
portability-*,
|
||||||
|
|
||||||
|
-modernize-use-trailing-return-type,
|
||||||
|
-readability-avoid-const-params-in-decls,
|
||||||
|
-cppcoreguidelines-macro-usage,
|
||||||
|
-cppcoreguidelines-avoid-do-while
|
||||||
|
|
||||||
|
HeaderFilterRegex: '^(Bigfoot)/'
|
||||||
|
ExcludeHeaderFilterRegex: '_generated.*'
|
||||||
|
|
||||||
|
CheckOptions:
|
||||||
|
- key: readability-implicit-bool-conversion.AllowPointerConditions
|
||||||
|
value: true
|
||||||
37
.gitea/workflows/sonarqube.yml
Normal file
37
.gitea/workflows/sonarqube.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
name: Bigfoot
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- '**'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build-and-test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 120
|
||||||
|
container:
|
||||||
|
image: git.romainboullard.com/bigfootdev/linuxbigfootbuilder:main
|
||||||
|
name: "Sonarqube"
|
||||||
|
steps:
|
||||||
|
- name: Install Node.js
|
||||||
|
run: apt-get update && apt-get install -y nodejs
|
||||||
|
|
||||||
|
- name: Checkout repository
|
||||||
|
uses: actions/checkout@v6
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
|
||||||
|
- name: Generate
|
||||||
|
run: |
|
||||||
|
conan install . --deployer=full_deploy --deployer-folder=build --remote=bigfootpackages -pr:h=clang -pr:b=clang --build=missing -s build_type=Debug -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=False -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True
|
||||||
|
cmake -S . -B ./build/Debug --toolchain ./build/Debug/generators/conan_toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_UNITY_BUILD=Debug -G "Ninja"
|
||||||
|
|
||||||
|
- name: Clang-Tidy
|
||||||
|
run: run-clang-tidy -p ./build/Debug/ >> tidy_result
|
||||||
|
|
||||||
|
- name: SonarQube Scan
|
||||||
|
uses: SonarSource/sonarqube-scan-action@v7.0.0
|
||||||
|
env:
|
||||||
|
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||||
|
SONAR_HOST_URL: ${{ secrets.SONAR_HOST }}
|
||||||
@@ -92,7 +92,7 @@ class Version
|
|||||||
return m_combined;
|
return m_combined;
|
||||||
}
|
}
|
||||||
|
|
||||||
[[nodiscard]] operator std::string() const;
|
operator std::string() const;
|
||||||
|
|
||||||
constexpr Version& operator=(const Version& p_version) = default;
|
constexpr Version& operator=(const Version& p_version) = default;
|
||||||
|
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -11,11 +11,9 @@ The goal is to build a multiplatform, API agnostic, 3D engine. Since this is a l
|
|||||||
### Requirements
|
### Requirements
|
||||||
|
|
||||||
1. [ConanV2](https://conan.io/)
|
1. [ConanV2](https://conan.io/)
|
||||||
2. [SQLite3 tools](https://www.sqlite.org/download.html) available from the command line
|
|
||||||
3. [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) (If you target Vulkan)
|
3. [Vulkan SDK](https://www.lunarg.com/vulkan-sdk/) (If you target Vulkan)
|
||||||
4. [CMake](https://cmake.org/)
|
4. [CMake](https://cmake.org/)
|
||||||
5. [Git](https://git-scm.com/)
|
5. [Git](https://git-scm.com/)
|
||||||
6. [RenderDoc](https://renderdoc.org/) (If you want to use the integrated RenderDoc API)
|
|
||||||
7. [Python3](https://www.python.org/)
|
7. [Python3](https://www.python.org/)
|
||||||
|
|
||||||
#### Additional requirements for Linux
|
#### Additional requirements for Linux
|
||||||
@@ -50,16 +48,14 @@ You can customize these scripts to opt-out of some Bigfoot features
|
|||||||
'Just' modify these lines to disable them (I promise to one day modify the script to do it from the command line)
|
'Just' modify these lines to disable them (I promise to one day modify the script to do it from the command line)
|
||||||
|
|
||||||
```
|
```
|
||||||
bigfoot/*:unity_build=True -o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True -o bigfoot/*:render_doc=True
|
-o bigfoot/*:build_tests=True -o bigfoot/*:tracy=True -o bigfoot/*:build_tools=True -o bigfoot/*:vulkan=True -o bigfoot/*:build_benchmarks=True
|
||||||
```
|
```
|
||||||
|
|
||||||
1. unity_build: Enable/Disable [unity builds](https://cmake.org/cmake/help/latest/variable/CMAKE_UNITY_BUILD.html) feature (will slow down compilation times)
|
1. build_tests: Enable/Disable the tests
|
||||||
2. build_tests: Enable/Disable the tests
|
2. tracy: Enable/Disable profiling using [Tracy](https://github.com/wolfpld/tracy)
|
||||||
3. tracy: Enable/Disable profiling using [Tracy](https://github.com/wolfpld/tracy)
|
3. build_tools: Enable/Disable the tools (I'd absolutely recommand not disabling this)
|
||||||
4. build_tools: Enable/Disable the tools (I'd absolutely recommand not disabling this if you are building benchamrks or tests)
|
4. vulkan: Enable/Disable Vulkan renderer (No point disabling it, since for now only Vulkan is available in Bigfoot)
|
||||||
5. vulkan: Enable/Disable Vulkan renderer (No point disabling it, since for now only Vulkan is available in Bigfoot)
|
5. build_benchmarks: Enable/Disable the benchmarks
|
||||||
6. build_benchmarks: Enable/Disable the benchmarks
|
|
||||||
7. render_doc: Enable/Disable the possitbility to use [RenderDoc](https://renderdoc.org/) API to capture from code
|
|
||||||
|
|
||||||
|
|
||||||
### Generating Bigfoot
|
### Generating Bigfoot
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ class Bigfoot(ConanFile):
|
|||||||
self.requires("eastl/3.27.01@bigfootdev/main", transitive_headers=True)
|
self.requires("eastl/3.27.01@bigfootdev/main", transitive_headers=True)
|
||||||
self.requires("unordered_dense/4.8.1@bigfootdev/main", transitive_headers=True)
|
self.requires("unordered_dense/4.8.1@bigfootdev/main", transitive_headers=True)
|
||||||
self.requires("mimalloc/3.1.5@bigfootdev/main", transitive_headers=True)
|
self.requires("mimalloc/3.1.5@bigfootdev/main", transitive_headers=True)
|
||||||
self.requires("stduuid/1.2.3", transitive_headers=True)
|
self.requires("stduuid/1.2.3@bigfootdev/main", transitive_headers=True)
|
||||||
self.requires("sqlite3/3.51.0@bigfootdev/main", transitive_headers=True)
|
self.requires("sqlite3/3.51.0@bigfootdev/main", transitive_headers=True)
|
||||||
self.requires("cli11/2.6.0")
|
self.requires("cli11/2.6.0")
|
||||||
self.requires("rapidhash/3.0@bigfootdev/main", transitive_headers=True)
|
self.requires("rapidhash/3.0@bigfootdev/main", transitive_headers=True)
|
||||||
|
|||||||
11
sonar-project.properties
Normal file
11
sonar-project.properties
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
sonar.projectKey=Bigfoot
|
||||||
|
|
||||||
|
sonar.projectVersion=0.1.0
|
||||||
|
|
||||||
|
sonar.sourceEncoding=UTF-8
|
||||||
|
|
||||||
|
sonar.sources=Bigfoot/Sources
|
||||||
|
sonar.tests=Bigfoot/Tests
|
||||||
|
|
||||||
|
sonar.cxx.file.suffixes=.hpp,.cpp,.h
|
||||||
|
sonar.cxx.clangtidy.reportPaths=tidy_result
|
||||||
Reference in New Issue
Block a user