# Configuration file for the Flash C++ documentation generator.
# https://github.com/hjfod/flash

[project]
name = "Geode"
version = "v1.0.0"
repository = "https://github.com/geode-sdk/geode"
tree = "https://github.com/geode-sdk/geode/tree/main"
icon = "loader/resources/logos/geode-circle.png"

[tutorials]
dir = "docs"
assets = [
    "docs/assets/*.png",
    "docs/assets/handbook/vol1/*.png",
    "docs/assets/handbook/vol2/*.png",
]

[[sources]]
name = "Geode"
dir = "loader/include"
include = [
    "Geode/**/*.hpp",
    "Geode/**/*.h",
]
exclude = [
    "Geode/modify/Comparer.hpp",
    "Geode/platform/*.hpp",
    "Geode/c++stl/*.hpp",
    # All of the relevant cocos headers are included through Geode headers
    "Geode/cocos/**/*.h"
]

[[sources]]
name = "Bindings"
dir = "build-docs/codegenned"
include = [
    "Geode/binding/*.hpp"
]
# Bindings are generated at compile time
exists-online = false

# CMake options

[cmake]
config-args = [
    "-G", "Ninja",
    "-DCMAKE_CXX_COMPILER=Clang",
    "-DCMAKE_C_COMPILER=Clang",
    "-DGEODE_BUILDING_DOCS=On",
    "-DGEODE_PLATFORM_NAME=Win32",
    "-DGEODE_CODEGEN_CMAKE_ARGS=-DCMAKE_CXX_COMPILER=Clang;-DCMAKE_C_COMPILER=Clang",
    "-DCMAKE_C_FLAGS=-m32",
    "-DCMAKE_CXX_FLAGS=-m32",
    "-DWIN32=On"
]

# We want to build codegen in order to get the bindings
build = true
build-dir = "build-docs"
build-args = [
    "--target", "CodegenRun"
]

# The file we use to get all the include paths and such
infer-args-from = "loader/src/load.cpp"