|
@@ -195,7 +195,7 @@ def run_msbuild(tools: ToolsLocation, sln: str, msbuild_args: [str] = None):
|
|
|
return subprocess.call(args, env=msbuild_env)
|
|
|
|
|
|
|
|
|
-def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local):
|
|
|
+def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local, float_size):
|
|
|
target_filenames = [
|
|
|
"GodotSharp.dll",
|
|
|
"GodotSharp.pdb",
|
|
@@ -216,6 +216,8 @@ def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local):
|
|
|
args = ["/restore", "/t:Build", "/p:Configuration=" + build_config, "/p:NoWarn=1591"]
|
|
|
if push_nupkgs_local:
|
|
|
args += ["/p:ClearNuGetLocalCache=true", "/p:PushNuGetToLocalSource=" + push_nupkgs_local]
|
|
|
+ if float_size == "64":
|
|
|
+ args += ["/p:GodotFloat64=true"]
|
|
|
|
|
|
sln = os.path.join(module_dir, "glue/GodotSharp/GodotSharp.sln")
|
|
|
exit_code = run_msbuild(
|
|
@@ -256,9 +258,9 @@ def build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local):
|
|
|
return 0
|
|
|
|
|
|
|
|
|
-def build_all(msbuild_tool, module_dir, output_dir, godot_platform, dev_debug, push_nupkgs_local):
|
|
|
+def build_all(msbuild_tool, module_dir, output_dir, godot_platform, dev_debug, push_nupkgs_local, float_size):
|
|
|
# Godot API
|
|
|
- exit_code = build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local)
|
|
|
+ exit_code = build_godot_api(msbuild_tool, module_dir, output_dir, push_nupkgs_local, float_size)
|
|
|
if exit_code != 0:
|
|
|
return exit_code
|
|
|
|
|
@@ -269,6 +271,8 @@ def build_all(msbuild_tool, module_dir, output_dir, godot_platform, dev_debug, p
|
|
|
)
|
|
|
if push_nupkgs_local:
|
|
|
args += ["/p:ClearNuGetLocalCache=true", "/p:PushNuGetToLocalSource=" + push_nupkgs_local]
|
|
|
+ if float_size == "64":
|
|
|
+ args += ["/p:GodotFloat64=true"]
|
|
|
exit_code = run_msbuild(msbuild_tool, sln=sln, msbuild_args=args)
|
|
|
if exit_code != 0:
|
|
|
return exit_code
|
|
@@ -277,6 +281,8 @@ def build_all(msbuild_tool, module_dir, output_dir, godot_platform, dev_debug, p
|
|
|
args = ["/restore", "/t:Build", "/p:Configuration=Release"]
|
|
|
if push_nupkgs_local:
|
|
|
args += ["/p:ClearNuGetLocalCache=true", "/p:PushNuGetToLocalSource=" + push_nupkgs_local]
|
|
|
+ if float_size == "64":
|
|
|
+ args += ["/p:GodotFloat64=true"]
|
|
|
sln = os.path.join(module_dir, "editor/Godot.NET.Sdk/Godot.NET.Sdk.sln")
|
|
|
exit_code = run_msbuild(msbuild_tool, sln=sln, msbuild_args=args)
|
|
|
if exit_code != 0:
|
|
@@ -300,6 +306,7 @@ def main():
|
|
|
parser.add_argument("--godot-platform", type=str, default="")
|
|
|
parser.add_argument("--mono-prefix", type=str, default="")
|
|
|
parser.add_argument("--push-nupkgs-local", type=str, default="")
|
|
|
+ parser.add_argument("--float", type=str, default="32", choices=["32", "64"], help="Floating-point precision")
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
@@ -321,6 +328,7 @@ def main():
|
|
|
args.godot_platform,
|
|
|
args.dev_debug,
|
|
|
args.push_nupkgs_local,
|
|
|
+ args.float,
|
|
|
)
|
|
|
sys.exit(exit_code)
|
|
|
|