-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Added git submodules * Added basic project setup * Added cmake configurations * Added scripts for presets generation * Added dummy example to `flux-playground` module
- Loading branch information
Showing
25 changed files
with
1,912 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
|
||
--- | ||
BasedOnStyle: LLVM | ||
AccessModifierOffset: -4 | ||
ColumnLimit: 100 | ||
ConstructorInitializerIndentWidth: 8 | ||
ContinuationIndentWidth: 8 | ||
IndentPPDirectives: AfterHash | ||
IndentWidth: 4 | ||
PointerAlignment: Left | ||
ReflowComments: true | ||
Standard: c++20 | ||
UseTab: Never | ||
AlignConsecutiveAssignments: Consecutive | ||
AlignConsecutiveBitFields: true | ||
AlignConsecutiveDeclarations: true | ||
AlignConsecutiveMacros: true | ||
AllowShortBlocksOnASingleLine: Empty | ||
AllowShortCaseLabelsOnASingleLine: false | ||
AllowShortFunctionsOnASingleLine: Empty | ||
AllowShortIfStatementsOnASingleLine: Never | ||
AllowShortLambdasOnASingleLine: Empty | ||
AllowShortLoopsOnASingleLine: false | ||
BreakConstructorInitializers: BeforeColon | ||
FixNamespaceComments: true | ||
--- | ||
Language: Cpp | ||
--- | ||
Language: ObjC | ||
ObjCSpaceBeforeProtocolList: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,125 @@ | ||
#======================================================================================================================= | ||
|
||
# The clangd compilation database. This is a soft link, it's generated automatically during the build. | ||
compile_commands.json | ||
|
||
# The build options used by VSCode (aka CMake Variants). This file is generated by scripts/generate-cmake-variants.sh. | ||
cmake-variants.yaml | ||
|
||
# The build options used by VSCode (aka CMake Presets). This file is generated by scripts/generate-cmake-presets.sh. | ||
CMakePresets.json | ||
|
||
# Build folder used by CI/CD tools. | ||
build/ | ||
build-linux/ | ||
build-windows/ | ||
build-macos/ | ||
|
||
# The cache used by clangd. | ||
.cache/ | ||
|
||
# NOTE: don't commit anything JetBrains IDE-related. We may revisit this in the future. | ||
.idea/ | ||
|
||
# NOTE: not sure which library does this, but something creates the 'deps' folder in our project's root folder. | ||
deps/ | ||
|
||
#======================================================================================================================= | ||
# Visual Studio Code | ||
#======================================================================================================================= | ||
|
||
.vscode/* | ||
# !.vscode/settings.json | ||
# !.vscode/tasks.json | ||
# !.vscode/launch.json | ||
# !.vscode/extensions.json | ||
*.code-workspace | ||
|
||
# Local History for Visual Studio Code | ||
.history/ | ||
|
||
#======================================================================================================================= | ||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider | ||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||
#======================================================================================================================= | ||
|
||
# User-specific stuff | ||
.idea/**/workspace.xml | ||
.idea/**/tasks.xml | ||
.idea/**/usage.statistics.xml | ||
.idea/**/dictionaries | ||
.idea/**/shelf | ||
|
||
# Generated files | ||
.idea/**/contentModel.xml | ||
|
||
# Sensitive or high-churn files | ||
.idea/**/dataSources/ | ||
.idea/**/dataSources.ids | ||
.idea/**/dataSources.local.xml | ||
.idea/**/sqlDataSources.xml | ||
.idea/**/dynamic.xml | ||
.idea/**/uiDesigner.xml | ||
.idea/**/dbnavigator.xml | ||
|
||
# CMake | ||
cmake-build-*/ | ||
|
||
# File-based project format | ||
*.iws | ||
|
||
# IntelliJ | ||
out/ | ||
|
||
# mpeltonen/sbt-idea plugin | ||
.idea_modules/ | ||
|
||
# JIRA plugin | ||
atlassian-ide-plugin.xml | ||
|
||
# Cursive Clojure plugin | ||
.idea/replstate.xml | ||
|
||
# Crashlytics plugin (for Android Studio and IntelliJ) | ||
com_crashlytics_export_strings.xml | ||
crashlytics.properties | ||
crashlytics-build.properties | ||
fabric.properties | ||
|
||
# Editor-based Rest Client | ||
.idea/httpRequests | ||
|
||
# Android studio 3.1+ serialized cache file | ||
.idea/caches/build_file_checksums.ser | ||
|
||
# Prerequisites | ||
*.d | ||
|
||
# Compiled Object files | ||
*.slo | ||
*.lo | ||
*.o | ||
*.obj | ||
|
||
# Precompiled Headers | ||
*.gch | ||
*.pch | ||
|
||
# Compiled Dynamic libraries | ||
*.so | ||
*.dylib | ||
*.dll | ||
|
||
# Compiled Static libraries | ||
*.lai | ||
*.la | ||
*.a | ||
*.lib | ||
|
||
# Executables | ||
*.exe | ||
*.out | ||
*.app | ||
|
||
# ImGui files | ||
imgui.ini |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
[submodule "external/Catch2"] | ||
path = external/Catch2 | ||
url = https://github.com/catchorg/Catch2 | ||
branch = v2.x | ||
[submodule "external/imgui"] | ||
path = external/imgui | ||
url = https://github.com/ocornut/imgui.git | ||
branch = docking | ||
[submodule "external/glfw"] | ||
path = external/glfw | ||
url = https://github.com/glfw/glfw.git | ||
[submodule "external/glad"] | ||
path = external/glad | ||
url = https://github.com/Dav1dde/glad.git | ||
[submodule "external/glm"] | ||
path = external/glm | ||
url = https://github.com/g-truc/glm | ||
[submodule "external/entt"] | ||
path = external/entt | ||
url = https://github.com/skypjack/entt.git | ||
[submodule "external/fast_io"] | ||
path = external/fast_io | ||
url = https://github.com/cppfastio/fast_io.git |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
cmake_minimum_required(VERSION 3.23) | ||
|
||
project(flux LANGUAGES CXX) | ||
|
||
include("cmake/project_settings.cmake") | ||
include("cmake/bootstrap.cmake") | ||
|
||
#----------------------------------------------------------------------------------------------------------------------- | ||
# Enable code coverage. | ||
#----------------------------------------------------------------------------------------------------------------------- | ||
|
||
option(FLUX_ENABLE_COVERAGE "Enable code coverage" OFF) | ||
|
||
if(FLUX_ENABLE_COVERAGE) | ||
if(CMAKE_CXX_COMPILER_ID MATCHES "^(Apple)?(C|c)?lang$") | ||
string(APPEND CMAKE_C_FLAGS " -O0 -g -fprofile-instr-generate -fcoverage-mapping") | ||
string(APPEND CMAKE_CXX_FLAGS " -O0 -g -fprofile-instr-generate -fcoverage-mapping") | ||
|
||
message(STATUS "Code coverage: ON") | ||
else() | ||
message(ERROR "Code coverage for compiler ${CMAKE_CXX_COMPILER_ID} is unsupported") | ||
endif() | ||
endif() | ||
|
||
#----------------------------------------------------------------------------------------------------------------------- | ||
# Libraries. | ||
#----------------------------------------------------------------------------------------------------------------------- | ||
|
||
#----------------------------------------------------------------------------------------------------------------------- | ||
# Applications. | ||
#----------------------------------------------------------------------------------------------------------------------- | ||
|
||
add_subdirectory("flux-playground") | ||
|
||
# code: language="CMake" insertSpaces=true tabSize=4 |
Oops, something went wrong.