my eecs 498 game engine
[wip] a fast, cross-platform distributable 2D game engine. with c++20, perf engineering, box2d, sdl, lua middleware and modular ECS.
Having all requirements set, here you can find how to quickly build and run the application.
Usually available build modes are Debug
, Release
, and RelWithDebInfo
.
To run a debug build:
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -B build/debug
cmake --build build/debug
To run a release build:
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -B build/release
cmake --build build/release
On macOS Xcode should be used as generator via -GXcode
. For example creating a release build with XCode.
# Using Xcode
cmake -GXcode -DCMAKE_BUILD_TYPE=Release -B build/xcode
cmake --build build/xcode
When not running through an IDE like CLion, the built application can be run by directly executing the generated binary.
To run a debug build:
./build/debug/src/app/App.app/Contents/MacOS/App
To run a release build:
./build/release/src/app/App.app/Contents/MacOS/App
To run a debug build created with Xcode:
./build/xcode/src/app/Debug/App.app/Contents/MacOS/App
To run a release build created with Xcode:
./build/xcode/src/app/Release/App.app/Contents/MacOS/App
To run a debug build:
build/debug/src/app/App.exe
To run a release build:
build/release/src/app/App.exe
To run a debug build:
./build/debug/src/app/App
To run a release build:
./build/release/src/app/App
To bundle the application and create a distribution package CPack is used. Before executing CPack a release build needs to be generated.
cpack --config build/release/CPackConfig.cmake
On any generated build tests can be executed by using CTest, e.g. a Debug build:
ctest --test-dir build/debug
Martin Fieber's C++20 project template with SDL2 and imgui. Lot of project installation, setup, distribution docs come from there.
Also, open source font Manrope.