# fobos — FoBiS project configuration
# Generated by: fobis scaffold init
# Documentation: https://szaghi.github.io/FoBiS/fobos/
#
# Delete sections and options you do not need.
# All CLI long-flag names are valid keys (without the leading --).

# ── Mode list ────────────────────────────────────────────────────────────────
# List every named mode section defined below.
# Select a mode with: fobis build --mode <name>
[modes]
modes = debug release

# ── Project metadata ─────────────────────────────────────────────────────────
# Consumed by: fobis introspect --projectinfo, fobis scaffold, fobis tree
[project]
name       = {{NAME}}
version    = 0.1.0
summary    =
authors    = {{AUTHORS}}
repository = {{REPOSITORY}}
year       = {{YEAR}}

# ── Feature flags ────────────────────────────────────────────────────────────
# Named compile-time option sets activated with --features.
# Well-known implicit names (openmp/omp, mpi, coarray, coverage, profile)
# do not need an entry — they resolve through the compiler table automatically.
# [features]
# default  = mpi            ; active when none are explicitly requested
# mpi      = -DUSE_MPI
# hdf5     = -DUSE_HDF5 -I/opt/hdf5/include -L/opt/hdf5/lib -lhdf5
# omp_defs = -DUSE_OMP      ; preprocessor define; pair with --features openmp

# ── GitHub dependencies ───────────────────────────────────────────────────────
# Fetched with: fobis fetch
# Syntax: name = URL [:: branch=X | tag=X | rev=X | semver=X] [:: use=sources|fobos]
# [dependencies]
# deps_dir = .fobis_deps
# penf     = https://github.com/szaghi/PENF :: tag=v1.5.0

# ── Base settings (shared template) ──────────────────────────────────────────
[base]
compiler  = gnu    ; gnu intel intel_nextgen nvfortran nag ibm amd pgi custom
src       = ./src/
build_dir = ./build/
obj_dir   = ./obj/
mod_dir   = ./mod/

# ── Debug mode ────────────────────────────────────────────────────────────────
[debug]
template      = base
cflags        = -c -O0 -g
build_profile = debug    ; adds: -fcheck=all -fbacktrace -ffpe-trap=invalid,zero,overflow -Wall -Wextra
build_dir     = ./build/debug/

# ── Release mode ──────────────────────────────────────────────────────────────
[release]
template      = base
cflags        = -c
build_profile = release  ; adds: -O3 -funroll-loops
build_dir     = ./build/release/
