mirror of
https://github.com/PancakeTAS/lsfg-vk.git
synced 2026-04-22 02:11:43 +00:00
initial commit
This commit is contained in:
commit
bf2b683264
4 changed files with 86 additions and 0 deletions
26
.clang-tidy
Normal file
26
.clang-tidy
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
Checks:
|
||||
# enable basic checks
|
||||
- "clang-analyzer-*"
|
||||
# configure performance checks
|
||||
- "performance-*"
|
||||
- "-performance-enum-size"
|
||||
# configure readability and bugprone checks
|
||||
- "readability-*"
|
||||
- "bugprone-*"
|
||||
- "misc-*"
|
||||
- "-misc-include-cleaner"
|
||||
- "-readability-braces-around-statements"
|
||||
- "-readability-function-cognitive-complexity"
|
||||
- "-readability-identifier-length"
|
||||
- "-readability-implicit-bool-conversion"
|
||||
- "-readability-magic-numbers"
|
||||
- "-readability-math-missing-parentheses"
|
||||
- "-bugprone-easily-swappable-parameters"
|
||||
# configure modernization
|
||||
- "modernize-*"
|
||||
- "-modernize-use-trailing-return-type"
|
||||
# configure cppcoreguidelines
|
||||
- "cppcoreguidelines-*"
|
||||
- "-cppcoreguidelines-avoid-magic-numbers"
|
||||
- "-cppcoreguidelines-pro-type-reinterpret-cast" # allows reinterpret_cast
|
||||
- "-cppcoreguidelines-avoid-non-const-global-variables"
|
||||
4
.gitattributes
vendored
Normal file
4
.gitattributes
vendored
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
*.cpp diff=cpp eol=lf
|
||||
*.hpp diff=cpp eol=lf
|
||||
*.md diff=markdown eol=lf
|
||||
*.cs binary
|
||||
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# cmake files
|
||||
/build
|
||||
|
||||
# ide/lsp files
|
||||
/.vscode
|
||||
/.clangd
|
||||
/.cache
|
||||
/.ccls
|
||||
48
CMakeLists.txt
Normal file
48
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
cmake_minimum_required(VERSION 3.29)
|
||||
|
||||
project(lsfg-vk-base-base
|
||||
VERSION 0.0.1
|
||||
DESCRIPTION "lsfg-vk-base: LSFG on Linux through Vulkan"
|
||||
LANGUAGES CXX)
|
||||
|
||||
# cmake options
|
||||
|
||||
set(CMAKE_CXX_COMPILER clang++)
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_CLANG_TIDY clang-tidy)
|
||||
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# main project
|
||||
|
||||
file(GLOB SOURCES
|
||||
"src/core/*.cpp"
|
||||
"src/utils/*.cpp"
|
||||
"src/*.cpp"
|
||||
)
|
||||
|
||||
add_executable(lsfg-vk-base ${SOURCES})
|
||||
|
||||
target_include_directories(lsfg-vk-base
|
||||
PUBLIC include)
|
||||
target_link_libraries(lsfg-vk-base
|
||||
PUBLIC vulkan)
|
||||
target_compile_options(lsfg-vk-base PRIVATE
|
||||
-Weverything
|
||||
# disable compat c++ flags
|
||||
-Wno-pre-c++20-compat-pedantic
|
||||
-Wno-pre-c++17-compat
|
||||
-Wno-c++98-compat-pedantic
|
||||
-Wno-c++98-compat
|
||||
# disable other flags
|
||||
-Wno-missing-designated-field-initializers
|
||||
-Wno-shadow # allow shadowing
|
||||
-Wno-switch-enum # ignore missing cases
|
||||
-Wno-switch-default # ignore missing default
|
||||
-Wno-padded # ignore automatic padding
|
||||
-Wno-exit-time-destructors # allow globals
|
||||
-Wno-global-constructors
|
||||
# required for vulkan
|
||||
-Wno-cast-function-type-strict
|
||||
)
|
||||
Loading…
Add table
Reference in a new issue