summaryrefslogtreecommitdiffhomepage
path: root/editor/app.cpp
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-12-02 02:23:37 +0100
committerStanislaw Halik <sthalik@misaki.pl>2022-12-02 02:23:37 +0100
commit316f7bef0d81f86eb099e6a07b517bb24ed4a3dd (patch)
treeb596622c1edb6570b1d7383c66a9aa09921c7acd /editor/app.cpp
parent8f6fc959ffbb3c612e9115c9b155f5379bee66d8 (diff)
app, main: allow Magnum to parse argv --magnum-foo opts
Diffstat (limited to 'editor/app.cpp')
-rw-r--r--editor/app.cpp13
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;
}