Contributors Read This!
Some Useful Tools
Installing valgrind (not required)
- Ubuntu/Debian:
sudo apt install valgrind - macOS: Install homebrew then run
brew install valgrind
Testing Your Code
The following commands can be run from a terminal in the project directory:
Tip
When adding new cpp files to the engine, re-running make make-project is required for them to be added to the CMake project (as it automatically finds all CPP files in the project).
make allormake: Says what each make function doesmake make-project: Builds necessary dependencies with CMakemake build-project: Builds the enginemake execute-project: Executes main.cppmake build-execute project: Runsbuild-projectthenexecute-projectmake qea: Runsmake-projectthenbuild-projectthenexecute-projectmake line-count: Queries line counts of various parts of the engine's codemake clean: Runs all of the following clean commandsmake clean-bin: Clears bin directory of engine (not including sub-directories)
Tip
Running make qea is a fast way to run all of the necessary make commands when testing your code.
GitHub pipeline
Note
GLEngine is currently in a chaotic stage of development, so contributing by formal means is difficult. If you are interested in contributing, or have any ideas, please reach out to me! Once the project reaches a stable stage, the pipeline will change drastically.
Currently:
The transfer1 branch is the first place all changes end up, commits are frequent and chaotic. The other two branches are currently ignored.
When the project reaches a more stable stage:
The develop branch and the release branch will not except commits directly, and will only be mutable through pull requests. To make changes, a new branch with one of two prefixes will be created:
issue-
feature-
Once a feature or issue branch is ready to be merged, it will be rebased upon the develop branch and then a pull request will be created from the feature or issue branch into the develop branch.
The release branch will only recieve pull requests when major milestones are reached. For me, this means when the project is in a good place in terms of functionality.
Useful Tidbits
Note
main.cpp is only for testing purposes and is not built into the static library.