Skip to main content

17 docs tagged with "cmake"

View all tags

API Reference

Overview of the public gp*() macro API, the naming conventions, and how to include the build tool in a project.

Build Tool Lifecycle

How to set up the root CMakeLists.txt, apply default policies, and start and end the build tool session.

Compile Options

How to add compiler flags to a target with controlled visibility, on top of the flags GPBT applies automatically.

Configuration

All GPBT_* cache variables and options, their defaults, and their effects on the build.

Dependencies

How to express dependencies between modules and thirdparty packages using GPBT's four-level visibility system.

Executable Specific

Options that apply only to executable targets, including GUI mode, custom entry points, and resource files.

Features

An overview of all capabilities built into the GP Build Tool.

GP Build Tool

The CMake meta-build system for Graphical Playground projects. Wraps CMake with a structured, platform-aware API designed for AAA game engine development.

Include Directories

How GPBT manages include paths automatically from the directory layout and how visibility controls which headers are exposed to dependents.

Link Options

How to add linker flags to a target with controlled visibility.

Miscellaneous Options

Additional per-target options including header-only targets, precompiled headers, strict warning control, static and shared linking, and test infrastructure.

Scanning

How gpBuildToolAutoScan discovers CMakeLists.txt files and registers targets and packages.

Sources

How GPBT discovers source files automatically from the directory layout, and how to add or exclude files explicitly.

Targets

How to declare modules, executables, and plugins using the GPBT target API.

Testing

Per-target test infrastructure, supported test frameworks, and CTest integration.

Third Party Management

How GPBT resolves thirdparty dependencies using system packages, prebuilt binaries, and source builds, with platform and compiler awareness built in.