arduino stuffs
Diffstat (limited to 'car_driver/godot/SConstruct')
| -rw-r--r-- | car_driver/godot/SConstruct | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/car_driver/godot/SConstruct b/car_driver/godot/SConstruct new file mode 100644 index 0000000..5c09597 --- /dev/null +++ b/car_driver/godot/SConstruct @@ -0,0 +1,61 @@ +#!python +import os +import subprocess + +opts = Variables([], ARGUMENTS) + +# Gets the standard flags CC, CCX, etc. +env = DefaultEnvironment() + +# Define our options +opts.Add(EnumVariable('target', "Compilation target", + 'debug', ['d', 'debug', 'r', 'release'])) +opts.Add(BoolVariable('use_llvm', "Use the LLVM / Clang compiler", 'no')) +opts.Add(PathVariable('target_path', + 'The path where the lib is installed.', 'car_driver/bin/')) +opts.Add(PathVariable('target_name', 'The library name.', + 'libgdserial', PathVariable.PathAccept)) + +# Local dependency paths, adapt them to your setup +godot_headers_path = "godot-cpp/godot-headers/" +cpp_bindings_path = "godot-cpp/" +cpp_library = "libgodot-cpp.linux" + +# only support 64 at this time.. +bits = 64 + +# Updates the environment with the option variables. +opts.Update(env) + +# Process some arguments +if env['use_llvm']: + env['CC'] = 'clang' + env['CXX'] = 'clang++' + + +if env['target'] in ('debug', 'd'): + cpp_library += '.debug' + env.Append(CCFLAGS=['-fPIC', '-g3', '-Og', '-std=c++17']) +else: + env.Append(CCFLAGS=['-fPIC', '-g', '-O3', '-std=c++17']) + cpp_library += '.release' + +cpp_library += '.' + str(bits) + +# make sure our binding library is properly includes +env.Append(CPPPATH=['.', godot_headers_path, cpp_bindings_path + 'include/', + cpp_bindings_path + 'include/core/', cpp_bindings_path + 'include/gen/']) +env.Append(LIBPATH=[cpp_bindings_path + 'bin/']) +env.Append(LIBS=[cpp_library]) + +# tweak this if you want to use different folders, or more folders, to store your source code in. +env.Append(CPPPATH=['src/']) +sources = Glob('src/*.cpp') + +library = env.SharedLibrary( + target=env['target_path'] + env['target_name'], source=sources) + +Default(library) + +# Generates help for the -h scons option. +Help(opts.GenerateHelpText(env)) |