2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00
2025-05-25 22:36:59 -04:00

fennec

a free and open source game engine

Table of Contents

  1. Introduction
  2. Building from Source
    1. Building from Terminal
    2. Building on Windows
  3. Running the Test Suite


Introduction

fennec is designed to be a general purpose, educational game engine.

Interfacing with the API in C++ follows the GNU Coding Standards.


Some main areas where the engine strays from the GNU standard includes the following:


Building from Source

fennec uses the CMake build system. The CMake build script provides several targets for building parts of the engine.

Target Description
fennec The main engine target.
fennec-metaprogramming Generate metaprogramming info for the fennec library. A dependency of the main engine.
fennecdocs Generate html documentation for the engine. Requires Doxygen.
fennecdocs-clean Cleans the generated html documentation files.
fennec-test Test suite for verifying engine functionality.

Using an IDE will streamline the build process for you and add additional configuration options. Eclipse, Visual Studio, and CLion provide built-in support for CMake. VSCode is also a viable IDE but involves some extra setup.


Building from Terminal

build.sh provides profiles for building the main engine. Run ./build.sh --help for more info.

By default, the CMake generator used is Ninja, which requires Ninja to be installed. You can modify the build scripts to use another build manager, see the CMake documentation for available generators.


Building on Windows

The bash script can be run natively on Windows when WSL is enabled. You do not need to run the script in WSL, simply use the "bash" command in Command Prompt or PowerShell. It requires CMake and a C/C++ compiler to be installed and configured in the PATH environment variable.

Fore more details, see this blog post for Windows Build 14316.

Otherwise, follow the sequence of commands provided in the bash script.

mkdir -p build/<profile>
cd ./build/<profile>
cmake -G Ninja -DCMAKE_BUILD_TYPE=<profile> -S ../.. -B .
cmake --build . --target fennec

The value of <profile> may be one of the following:

Profile Description
Debug Build in debug mode, provides full debugging information to use with a debugger.
Release Build in release mode, provides full optimizations, eliminating debug info.
RelWithDebInfo Build in release mode with extra debug info, provides partial optimizations.
MinSizeRel Build in release mode but optimizing for minimum binary size.

If you would like to use Visual Studio without CMake, you can use the build script to generate a Visual Studio project for the source. For a list of available Visual Studio generators, see this section. Running the following command will generate the Visual Studio project.

cmake -G "Visual Studio 17 2022" -A x64


Running the Test Suite

test.sh provides profiles for building the test suite and executes them.

Description
fennec game engine
Readme GPL-3.0 984 KiB
Languages
C++ 71.2%
CSS 19.5%
C 4.8%
JavaScript 1.5%
CMake 1.2%
Other 1.8%