diff options
author | Max Hilbrunner <m.hilbrunner@gmail.com> | 2019-05-26 19:05:31 +0200 |
---|---|---|
committer | Max Hilbrunner <m.hilbrunner@gmail.com> | 2019-05-26 19:05:40 +0200 |
commit | be80b0b83c9068cf1576c0a7c909abbdd931c8fc (patch) | |
tree | 337ce0e72ffb535a4e96202189959a4b96ba1f51 | |
parent | ffe067f53dff5b4f5c1fe0947bb697bc380c6ef6 (diff) |
Scons: Autodetect platform if not specified
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
-rw-r--r-- | SConstruct | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/SConstruct b/SConstruct index 88bb43fbc7..b6231e26fe 100644 --- a/SConstruct +++ b/SConstruct @@ -226,6 +226,23 @@ if env_base['platform'] != "": elif env_base['p'] != "": selected_platform = env_base['p'] env_base["platform"] = selected_platform +else: + # Missing `platform` argument, try to detect platform automatically + if sys.platform.startswith('linux'): + selected_platform = 'linux' + elif sys.platform == 'darwin': + selected_platform = 'osx' + elif sys.platform == 'win32': + selected_platform = 'windows' + else: + print("Could not detect platform automatically. Supported platforms:") + for x in platform_list: + print("\t" + x) + print("\nPlease run SCons again and select a valid platform: platform=<string>") + + if selected_platform != "": + print("Automatically detected platform: " + selected_platform) + env_base["platform"] = selected_platform if selected_platform in platform_list: tmppath = "./platform/" + selected_platform @@ -492,13 +509,13 @@ if selected_platform in platform_list: if (conf.CheckCHeader(header[0])): env.AppendUnique(CPPDEFINES=[header[1]]) -else: +elif selected_platform != "": - print("No valid target platform selected.") + print("Invalid target platform: " + selected_platform) print("The following platforms were detected:") for x in platform_list: print("\t" + x) - print("\nPlease run SCons again with the argument: platform=<string>") + print("\nPlease run SCons again and select a valid platform: platform=<string>") # The following only makes sense when the env is defined, and assumes it is if 'env' in locals(): |