1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- #!python
- import os
- target = ARGUMENTS.get("target", "debug")
- platform = ARGUMENTS.get("platform", "windows")
- bits = ARGUMENTS.get("bits", 64)
- final_lib_path = 'demo/bin/'
- # 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 = Environment()
- if platform == "windows":
- env = Environment(ENV = os.environ)
- def add_sources(sources, directory):
- for file in os.listdir(directory):
- if file.endswith('.cpp'):
- sources.append(directory + '/' + file)
- if platform == "osx":
- env.Append(CCFLAGS = ['-g','-O3', '-arch', 'x86_64'])
- env.Append(LINKFLAGS = ['-arch', 'x86_64'])
- final_lib_path = final_lib_path + 'osx/'
- elif platform == "linux":
- env.Append(CCFLAGS = ['-fPIC', '-g','-O3', '-std=c++14'])
- final_lib_path = final_lib_path + 'x11/'
- elif platform == "windows":
- if target == "debug":
- env.Append(CCFLAGS = ['-EHsc', '-D_DEBUG', '-MDd'])
- else:
- env.Append(CCFLAGS = ['-O2', '-EHsc', '-DNDEBUG', '-MD'])
- final_lib_path = final_lib_path + 'win' + str(bits) + '/'
- env.Append(CPPPATH=['.', 'src/', "godot_headers/", 'godot-cpp/include/', 'godot-cpp/include/core/'])
- env.Append(LIBS=["godot-cpp/bin/godot-cpp" + "." + platform + "." + str(bits)])
- sources = []
- add_sources(sources, "src")
- library = env.SharedLibrary(target=final_lib_path + 'libgdexample', source=sources)
- Default(library)
|