summaryrefslogtreecommitdiffstats
path: root/include/SConstruct
diff options
context:
space:
mode:
Diffstat (limited to 'include/SConstruct')
-rw-r--r--include/SConstruct99
1 files changed, 0 insertions, 99 deletions
diff --git a/include/SConstruct b/include/SConstruct
deleted file mode 100644
index 9b86034..0000000
--- a/include/SConstruct
+++ /dev/null
@@ -1,99 +0,0 @@
-#!python
-import os, subprocess
-
-
-# Local dependency paths, adapt them to your setup
-godot_headers_path = "../../godot_headers/"
-godot_bin_path = "../../godot_fork/bin/"
-godot_lib_path = "../../godot_fork/bin/"
-
-
-env = Environment()
-
-if ARGUMENTS.get("use_llvm", "no") == "yes":
- env["CXX"] = "clang++"
-
-target = ARGUMENTS.get("target", "core")
-platform = ARGUMENTS.get("p", "linux")
-
-
-godot_name = "godot." + ("x11" if platform == "linux" else platform) + ".tools.64"
-
-
-def add_sources(sources, directory):
- for file in os.listdir(directory):
- if file.endswith('.cpp'):
- sources.append(directory + '/' + file)
-
-
-if target == "core":
- if platform == "linux":
- env.Append(CCFLAGS = ['-g','-O3', '-std=c++14'])
-
- env.Append(CPPPATH=['.', godot_headers_path])
-
- if platform == "windows":
- env.Append(LIBS=[godot_name + '.lib'])
- env.Append(LIBPATH=[godot_lib_path])
-
- env.Append(CPPFLAGS=['-D_GD_CPP_CORE_API_IMPL'])
-
- sources = []
- add_sources(sources, "godot_cpp/core")
-
- library = env.SharedLibrary(target='godot_cpp_core', source=sources)
- Default(library)
-
-
-elif target == "bindings":
-
- if ARGUMENTS.get("generate_bindings", "no") == "yes":
- godot_executable = godot_bin_path + godot_name
-
- if env["CXX"] == "clang++":
- godot_executable += ".llvm"
-
- if platform == "windows":
- godot_executable += ".exe"
-
- # TODO Generating the API should be done only if the Godot build is more recent than the JSON file
- json_api_file = 'godot_api.json'
-
- subprocess.call([godot_executable, '--gdnative-generate-json-api', json_api_file])
-
- binding_generator_executable = '../binding_generator/target/debug/binding_generator'
- if platform == "windows":
- binding_generator_executable += ".exe"
-
- # TODO Should that be the job of the generator?
- if not os.path.isdir('godot_cpp/impl'):
- os.mkdir('godot_cpp/impl')
-
- # Note: the binding generator should have been built before
- subprocess.call([binding_generator_executable, json_api_file, 'godot_cpp/'])
-
- if platform == "linux":
- if env["CXX"] == "clang++":
- env.Append(CCFLAGS = ['-Wno-writable-strings'])
- else:
- env.Append(CCFLAGS = ['-Wno-write-strings', '-Wno-return-local-addr'])
-
- env.Append(CCFLAGS = ['-g','-O3', '-std=c++14'])
- env.Append(LINKFLAGS = ['-Wl,-R,\'$$ORIGIN\''])
- env.Append(CPPPATH=['.', godot_headers_path, './godot_cpp'])
-
- if platform == "windows":
- env.Append(LIBS=[godot_name])
- env.Append(LIBPATH=[godot_lib_path])
-
- env.Append(LIBS=['godot_cpp_core'])
- env.Append(LIBPATH=['.'])
-
- env.Append(CPPFLAGS=['-D_GD_CPP_BINDING_IMPL'])
-
- sources = []
- add_sources(sources, "godot_cpp/impl/")
-
- library = env.SharedLibrary(target='godot_cpp_bindings', source=sources)
- Default(library)
-