Loading...
Searching...
No Matches
seams_config.hpp File Reference

Twelve-factor runtime knobs for the engine and the fronts. More...

#include <ostream>
#include <string>
#include <string_view>
#include <site.hpp>

Go to the source code of this file.

Classes

struct  seams::cfg::Runtime

Namespaces

namespace  site
namespace  seams
namespace  seams::cfg

Functions

bool site::iceScoreAllowed (Family f)
const char * site::refuseIceScore (Family f)
const char * site::familyName (Family f)
Family site::parseFamily (std::string_view name)
std::string seams::cfg::pathFromArgv (int argc, char **argv)
 Scan argv for –config PATH / –config=PATH.
void seams::cfg::applyFile (const std::string &path, bool required)
 Apply a dotenv file: set KEY=VAL only when KEY is not already in the environment.
Runtime seams::cfg::load (std::string_view explicitFile={})
 Load file (if any) then read the environment into a Runtime.
void seams::cfg::exportEnviron (const Runtime &cfg)
 Write Runtime fields into the environment so libraries that only call getenv (linkcell, OpenMP offload) see the CLI result.
void seams::cfg::dump (const Runtime &cfg, std::ostream &os)

Detailed Description

Twelve-factor runtime knobs for the engine and the fronts.

Config is what varies between deploys, not the analysis itself. Defaults live in code. An optional dotenv file (SEAMS_CONFIG, or ./seams.env) fills unset variables. The process environment wins over the file. CLI flags win over the environment. Compile-time meson options stay out of this table.

Definition in file seams_config.hpp.