diff --git a/main/SCsub b/main/SCsub index 87d64e48f911..b3c0e44c4909 100644 --- a/main/SCsub +++ b/main/SCsub @@ -3,6 +3,8 @@ Import("env") import main_builders +import sys +import os env.main_sources = [] @@ -36,3 +38,16 @@ env_main.CommandNoCache( lib = env_main.add_library("main", env.main_sources) env.Prepend(LIBS=[lib]) + +build_args = " ".join(sys.argv[1:]) + +SCONSFLAGS = os.environ.get("SCONSFLAGS") +if SCONSFLAGS: + build_args = SCONSFLAGS + " " + build_args + +with open("build_arguments.gen.h", "w") as fd: + fd.write("/* THIS FILE IS GENERATED DO NOT EDIT */\n") + fd.write("#ifndef BUILD_ARGUMENTS_GEN_H\n") + fd.write("#define BUILD_ARGUMENTS_GEN_H\n") + fd.write('#define BUILD_ARGUMENTS "' + build_args + '"\n') + fd.write("#endif // BUILD_ARGUMENTS_GEN_H\n") diff --git a/main/main.cpp b/main/main.cpp index 3cc7923cc264..0c797aaeda4d 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -53,6 +53,7 @@ #include "core/version_hash.gen.h" #include "drivers/register_driver_types.h" #include "main/app_icon.gen.h" +#include "main/build_arguments.gen.h" #include "main/main_timer_sync.h" #include "main/performance.h" #include "main/splash.gen.h" @@ -647,6 +648,11 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph print_line(get_full_version_string()); goto error; + } else if (I->get() == "--build-info") { + print_line(get_full_version_string()); + print_line("Build arguments: " + String(BUILD_ARGUMENTS)); + goto error; + } else if (I->get() == "-v" || I->get() == "--verbose") { // verbose output OS::get_singleton()->_verbose_stdout = true;