Skip to content

Commit a5db125

Browse files
authored
Merge pull request godotengine#1714 from dsnopek/extension-api-precision
Check that precision of `extension_api.json` matches build options
2 parents 9f02db1 + 0a73df5 commit a5db125

File tree

3 files changed

+9
-2
lines changed

3 files changed

+9
-2
lines changed

binding_generator.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,10 +290,15 @@ def generate_bindings(api_filepath, use_template_get_node, bits="64", precision=
290290
api = {}
291291
with open(api_filepath, encoding="utf-8") as api_file:
292292
api = json.load(api_file)
293-
_generate_bindings(api, use_template_get_node, bits, precision, output_dir)
293+
_generate_bindings(api, api_filepath, use_template_get_node, bits, precision, output_dir)
294294

295295

296-
def _generate_bindings(api, use_template_get_node, bits="64", precision="single", output_dir="."):
296+
def _generate_bindings(api, api_filepath, use_template_get_node, bits="64", precision="single", output_dir="."):
297+
if "precision" in api["header"] and precision != api["header"]["precision"]:
298+
raise Exception(
299+
f"Cannot do a precision={precision} build using '{api_filepath}' which was generated by Godot built with precision={api['header']['precision']}"
300+
)
301+
297302
target_dir = Path(output_dir) / "gen"
298303

299304
shutil.rmtree(target_dir, ignore_errors=True)

misc/scripts/check_get_file_list.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ def test(profile_filepath=""):
1919
api = generate_trimmed_api(api_filepath, profile_filepath)
2020
_generate_bindings(
2121
api,
22+
api_filepath,
2223
use_template_get_node=False,
2324
bits=bits,
2425
precision=precision,

tools/godotcpp.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ def scons_generate_bindings(target, source, env):
154154

155155
_generate_bindings(
156156
api,
157+
str(source[0]),
157158
env["generate_template_get_node"],
158159
"32" if "32" in env["arch"] else "64",
159160
env["precision"],

0 commit comments

Comments
 (0)