diff --git a/SConstruct b/SConstruct index 1ffd28c..d0282ea 100644 --- a/SConstruct +++ b/SConstruct @@ -17,7 +17,7 @@ opts.Add(PathVariable('target_name', 'The library name.', 'libgitapi', PathVaria # Local dependency paths, adapt them to your setup godot_headers_path = "godot-cpp/godot_headers/" cpp_bindings_path = "godot-cpp/" -cpp_library = "godot-cpp/bin/libgodot-cpp" +cpp_library = "libgodot-cpp" # only support 64 at this time.. bits = 64 diff --git a/demo/git_api.gdnlib b/demo/git_api.gdnlib index db5cbbf..18e5636 100644 --- a/demo/git_api.gdnlib +++ b/demo/git_api.gdnlib @@ -8,7 +8,9 @@ reloadable=false [entry] Windows.64="res://bin/win64/libgitapi.dll" +X11.64="res://bin/x11/libgitapi.so" [dependencies] -Windows.64="" +Windows.64=[ ] +X11.64=[ ] diff --git a/godot-git-plugin/SConstruct b/godot-git-plugin/SConstruct deleted file mode 100644 index df1c7d3..0000000 --- a/godot-git-plugin/SConstruct +++ /dev/null @@ -1,107 +0,0 @@ -#!python -import os, 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(EnumVariable('platform', "Compilation platform", '', ['', 'windows', 'x11', 'linux', 'osx'])) -opts.Add(EnumVariable('p', "Compilation target, alias for 'platform'", '', ['', 'windows', 'x11', 'linux', 'osx'])) -opts.Add(BoolVariable('use_llvm', "Use the LLVM / Clang compiler", 'no')) -opts.Add(PathVariable('target_path', 'The path where the lib is installed.', 'demo/bin/')) -opts.Add(PathVariable('target_name', 'The library name.', 'libgit_api', 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" - -# 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['p'] != '': - env['platform'] = env['p'] - -if env['platform'] == '': - print("No valid target platform selected.") - quit(); - -# For the reference: -# - CCFLAGS are compilation flags shared between C and C++ -# - CFLAGS are for C-specific compilation flags -# - CXXFLAGS are for C++-specific compilation flags -# - CPPFLAGS are for pre-processor flags -# - CPPDEFINES are for pre-processor defines -# - LINKFLAGS are for linking flags - -# Check our platform specifics -if env['platform'] == "osx": - env['target_path'] += 'osx/' - cpp_library += '.osx' - if env['target'] in ('debug', 'd'): - env.Append(CCFLAGS=['-g', '-O2', '-arch', 'x86_64']) - env.Append(LINKFLAGS=['-arch', 'x86_64']) - else: - env.Append(CCFLAGS=['-g', '-O3', '-arch', 'x86_64']) - env.Append(LINKFLAGS=['-arch', 'x86_64']) - -elif env['platform'] in ('x11', 'linux'): - env['target_path'] += 'x11/' - cpp_library += '.linux' - if env['target'] in ('debug', 'd'): - env.Append(CCFLAGS=['-fPIC', '-g3', '-Og']) - env.Append(CXXFLAGS=['-std=c++17']) - else: - env.Append(CCFLAGS=['-fPIC', '-g', '-O3']) - env.Append(CXXFLAGS=['-std=c++17']) - -elif env['platform'] == "windows": - env['target_path'] += 'win64/' - cpp_library += '.windows' - # This makes sure to keep the session environment variables on windows, - # that way you can run scons in a vs 2017 prompt and it will find all the required tools - env.Append(ENV=os.environ) - - env.Append(CPPDEFINES=['WIN32', '_WIN32', '_WINDOWS', '_CRT_SECURE_NO_WARNINGS']) - env.Append(CCFLAGS=['-W3', '-GR']) - if env['target'] in ('debug', 'd'): - env.Append(CPPDEFINES=['_DEBUG']) - env.Append(CCFLAGS=['-EHsc', '-MDd', '-ZI']) - env.Append(LINKFLAGS=['-DEBUG']) - else: - env.Append(CPPDEFINES=['NDEBUG']) - env.Append(CCFLAGS=['-O2', '-EHsc', '-MD']) - -if env['target'] in ('debug', 'd'): - cpp_library += '.debug' -else: - 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))