From f66938081181226b4e7bd08a3213f7cdc4a0e0d5 Mon Sep 17 00:00:00 2001 From: Marc Gilleron Date: Wed, 3 Feb 2021 22:48:58 +0000 Subject: [PATCH] Generate bindings if they are not found --- SConstruct | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/SConstruct b/SConstruct index 33bab348..4a30ccb3 100644 --- a/SConstruct +++ b/SConstruct @@ -123,10 +123,12 @@ opts.Add(PathVariable( None, PathVariable.PathIsFile )) -opts.Add(BoolVariable( +opts.Add(EnumVariable( 'generate_bindings', 'Generate GDNative API bindings', - False + 'auto', + allowed_values = ['yes', 'no', 'auto', 'true'], + ignorecase = 2 )) opts.Add(EnumVariable( 'android_arch', @@ -387,7 +389,13 @@ if 'custom_api_file' in env: else: json_api_file = os.path.join(os.getcwd(), env['headers_dir'], 'api.json') -if env['generate_bindings']: +if env['generate_bindings'] == 'auto': + # Check if generated files exist + should_generate_bindings = not os.path.isfile(os.path.join(os.getcwd(), 'src', 'gen', 'Object.cpp')) +else: + should_generate_bindings = env['generate_bindings'] in ['yes', 'true'] + +if should_generate_bindings: # Actually create the bindings here import binding_generator