diff --git a/SConstruct b/SConstruct
index cdc0b7e480840895d43710f7dbe1bcfe72726ac2..13f498182bf468387bf5e464d1298053fc1f263a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -51,9 +51,11 @@ if env['platform'] == "osx":
     cpp_library += '.osx'
     if env['target'] in ('debug', 'd'):
         env.Append(CCFLAGS=['-g', '-O2', '-arch', 'x86_64'])
+        env.Append(CXXFLAGS=['-std=c++17'])
         env.Append(LINKFLAGS=['-arch', 'x86_64'])
     else:
         env.Append(CCFLAGS=['-g', '-O3', '-arch', 'x86_64'])
+        env.Append(CXXFLAGS=['-std=c++17'])
         env.Append(LINKFLAGS=['-arch', 'x86_64'])
 
 elif env['platform'] in ('x11', 'linux'):
diff --git a/update.sh b/update.sh
new file mode 100755
index 0000000000000000000000000000000000000000..20dc781a7a19b38c149ae5e9c394f60e953e9338
--- /dev/null
+++ b/update.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+git submodule update --init --recursive
+cd src/godot-cpp
+scons platform=$1 generate_bindings=yes
+cd ../..
+scons platform=$1