bladibladibla RPG yaddayadda Eigenbau blafasel. Wir wollen all die falschen Entscheidungen selber treffen, all den schlechten Code selber schreiben, all die Bugs selber beheben, sprich: lernen.
Der Einfachheit halber benutzen wir Makefiles, und für deren Erstellung CMake.
Irrlicht, IrrKlang und Lua in den entsprechenden Versionen und passend zum Betriebssystem (32Bit/64Bit) holen (siehe CMakeLists.txt
) und nach ./external
entpacken. Dann einen Ordner ./_build
anlegen, in diesen wechseln, dort eine Konsole öffnen...
...und cmake -G "MinGW Makefiles" ..
eingeben. Das erstellt ein Makefile für genau dein System. Damit kannst du dann machen was du willst, z.B. ein Eclipse-Projekt erstellen oder einfach make
ausführen.
Hinweis: Wir nutzen gern Ninja anstelle von Make.
...und dann noch flink die gerade entpackten Bibliotheken compilen. (siehe Troubleshooting). Dann kannst du cmake ..
eingeben, danach make
.
- todo
Die Leviathan Game Engine wird komplett testgetrieben entwickelt. Die Unit-Tests werden mit den Frameworks Catch2 und FakeIt erstellt.
Beim Builden wird auch ein Binary unit_tests
angelegt, welches die Tests in der Konsole abfährt.
Für einheitlichen Code nutzen wir clang-formatter, die Regeln sind in .clang-format
festgelegt.
Windows: make generic
Linux: sudo make linux install
- fatal error: readline/readline.h: No such file or directory -->
sudo apt-get install libreadline-dev
sudo make linux install
- fatal error: GL/gl.h: No such file or directory -->
sudo apt-get install apt-file
apt-file update
apt-file search "GL/gl.h"
Nun suche das am besten passende Package raus und installiere es.
- fatal error: X11/extensions/xf86vmode.h: No such file or directory -->
sudo apt-get install libxxf86vm-dev
A thousand thanks to:
- the Irrlicht 3D Engine creators and maintainers, as well as to the great community!
- According to the prophecy, I hereby acknowledge that, by using Irrlicht, I’ve used the IJG code, the zlib and libpng.
- the irrKlang Sound Library creators and maintainers
- the LUA people
- Dimitri van Heesch for Doxygen
- Mastiff Odit for his MastEventReceiver, giving me a great start with EventReceivers
- Phil Nash for the nice and easy unit test framework Catch
- Eran Pe'er for his marvellous mocking framework FakeIt
- the wonderful community around stackoverflow.com for many many many hints
- the awesome people behind and around GitHub
- all GNUs and Ninjas
- and all the others silently involved.