diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2022-12-02 02:23:37 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-12-02 02:23:37 +0100 |
commit | 316f7bef0d81f86eb099e6a07b517bb24ed4a3dd (patch) | |
tree | b596622c1edb6570b1d7383c66a9aa09921c7acd /editor/app.cpp | |
parent | 8f6fc959ffbb3c612e9115c9b155f5379bee66d8 (diff) |
app, main: allow Magnum to parse argv --magnum-foo opts
Diffstat (limited to 'editor/app.cpp')
-rw-r--r-- | editor/app.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/editor/app.cpp b/editor/app.cpp index a0c086cf..ed374dd8 100644 --- a/editor/app.cpp +++ b/editor/app.cpp @@ -77,22 +77,25 @@ static int atoi_(const char* str) return negative ? result : -result; } -fm_settings app::parse_cmdline(int argc, const char* const* argv) +fm_settings app::parse_cmdline(int argc, const char* const* const argv) { fm_settings opts; Corrade::Utility::Arguments args{}; - args.addOption("vsync", "1") - .addOption("gpu-debug", "1") + args.addOption("vsync", "1").setFromEnvironment("vsync", "FLOORMAT_VSYNC").setHelp("vsync", "", "true|false") + .addOption("gpu-debug", "1").setFromEnvironment("gpu-debug", "FLOORMAT_GPU_DEBUG").setHelp("gpu-debug", "", "robust|on|off|no-error") + .addSkippedPrefix("magnum") .parse(argc, argv); opts.vsync = parse_bool("vsync", args, opts.vsync); - if (auto str = args.value<StringView>("gpu-debug"); str == "no-error" || str == "none") + if (auto str = args.value<StringView>("gpu-debug"); str == "no-error"_s) opts.gpu_debug = fm_gpu_debug::no_error; - else if (str == "robust" || str == "full") + else if (str == "robust"_s || str == "full"_s) opts.gpu_debug = fm_gpu_debug::robust; else opts.gpu_debug = parse_bool("gpu-debug", args, opts.gpu_debug > fm_gpu_debug::off) ? fm_gpu_debug::on : fm_gpu_debug::off; + opts.argc = argc; + opts.argv = argv; return opts; } |