zip ninja-build libxinerama-dev libxcursor-dev xorg-dev libglu1-mesa-dev pkg-config libgl1-mesa-dev libx11-dev libxrandr-dev
We are actively testing on Windows and macOS, but other systems that meet the requirements should theoretically work fine.
You should be able to generate build scripts and build the project using one of the CMake presets in CMakePresets.json. But as we primarily use Visual Studio Code as our IDEs. The rest of this readme focuses on them.
We have a set of recommended VS Code extensions in .vscode/extensions.json. You should get a popup to install them when you open the project. If not, be sure to do it manually.
If everything goes well, you should then see the following line in the CMake/Build output:
[build] Build finished with exit code 0
In the CMake tab, select the desired launch target and run it using the play button at the bottom of the screen.
We use cppbestpractices by Jason Turner as the basis for our standard.
.clang-tidy file contains the current naming convention we use. In addition, file and folder names should be lower_case. C++ files should have a .cpp extension, C files .c, and header files .h.
.clang-format file contains the current formatting style we use.
Both .clang-tidy and .clang-format are supported in most IDEs, and can help validate your code according to the standards, and even make necessary changes to be conformant.
Indent with 4 spaces.
Add spaces after C-style casts. Do not add spaces within angle brackets for template parameters.
Place opening braces on the line after control statements, classes, enums, functions, namespaces, structs, unions, and extern blocks.
Use compact namespaces (A::B
) when possible.
Group include directives into categories and order them as follows:
"..."
)<...>
)<...>
)"..."
)Ensure consistency and readability by following these naming conventions throughout codebase:
Tyr
.m_
prefix for private and protected member variables.g_
prefix for global variables.s_
prefix for static variables.t_
prefix for function parameters.k
prefix.We use Github flow as our branching strategy. Direct commits to the main
branch are disabled, the goal is to keep it stable and usable.
dev/your-awesome-dev-task
.This project is licensed under the terms of the GNU GPLv3.