View on GitHub

FOnline Engine

Flexible cross-platform isometric game engine

Applications and Entry Points

This document maps the app entry points in Source/Applications/ and how they are wired by BuildTools.

Build target ownership

Application source files are engine-owned, but target names and enablement are often project-dependent. BuildTools/cmake/stages/Applications.cmake creates targets from these entry points using project variables such as FO_DEV_NAME, platform options, and feature toggles like client/server/library/headless modes.

Because of that, this doc names source entry points and roles, not universal final target names.

Source paths inspected

Entry-point files

CMake wiring

BuildTools/cmake/stages/Applications.cmake is the primary source for application target creation. It uses helpers such as AddExecutableApplication and AddSharedApplication to create executable or shared-library outputs and to attach platform-specific properties.

Observed wiring patterns include:

Read the CMake stage before documenting a target as available. Availability can depend on platform and project options.

Which entry point should I inspect?

Documentation rule

When adding or changing an application entry point:

  1. Update BuildTools/cmake/stages/Applications.cmake or its helpers if target creation changes.
  2. Update this file with the entry point’s role.
  3. Update a focused subsystem doc if runtime behavior changes.
  4. Validate through the embedding project’s relevant preset/target instead of assuming one universal target name.