diff --git a/tools/godotcpp.py b/tools/godotcpp.py index 925b214d..efe632ab 100644 --- a/tools/godotcpp.py +++ b/tools/godotcpp.py @@ -239,6 +239,15 @@ def generate(env): print("Building for architecture " + env["arch"] + " on platform " + env["platform"]) + tool = Tool(env["platform"], toolpath=["tools"]) + + if tool is None or not tool.exists(env): + raise ValueError("Required toolchain not found for platform " + env["platform"]) + + tool.generate(env) + target_tool = Tool("targets", toolpath=["tools"]) + target_tool.generate(env) + # Disable exception handling. Godot doesn't use exceptions anywhere, and this # saves around 20% of binary size and very significant build time. if env["disable_exceptions"]: @@ -249,15 +258,6 @@ def generate(env): elif env.get("is_msvc", False): env.Append(CXXFLAGS=["/EHsc"]) - tool = Tool(env["platform"], toolpath=["tools"]) - - if tool is None or not tool.exists(env): - raise ValueError("Required toolchain not found for platform " + env["platform"]) - - tool.generate(env) - target_tool = Tool("targets", toolpath=["tools"]) - target_tool.generate(env) - # Require C++17 if env.get("is_msvc", False): env.Append(CXXFLAGS=["/std:c++17"])