glew: Split thirdparty files and isolate env

Not fully happy about the way this one interacts with the various
platforms. Maybe the platform_config.h should be generated by the
SCsub instead of passing a define just to know where is the header.
This commit is contained in:
Rémi Verschelde
2016-10-14 08:27:59 +02:00
parent 249836e530
commit 36738ddda4
16 changed files with 115 additions and 19 deletions

View File

@@ -1,11 +1,26 @@
Import('env')
Import('env_drivers')
env.add_source_files(env.drivers_sources,"*.cpp")
env_glew = env_drivers.Clone()
if (env["platform"] in ["haiku","osx","windows","x11"]):
# Thirdparty source files
if (env["glew"] != "system"): # builtin
thirdparty_dir = "#thirdparty/glew/"
thirdparty_sources = [
"glew.c",
]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
env_glew.add_source_files(env.drivers_sources, thirdparty_sources)
env_glew.Append(CPPFLAGS = ['-DGLEW_STATIC'])
env_glew.Append(CPPPATH = [thirdparty_dir])
# Also pass to global env, used by platform code
env.Append(CPPPATH = [thirdparty_dir])
if (env.get('glew') == 'yes'):
env.add_source_files(env.drivers_sources,"glew.c")
env.Append(CPPFLAGS = ['-DGLEW_ENABLED'])
env.Append(CPPFLAGS = ['-DGLEW_STATIC'])
env.Append(CPPPATH = ['.'])
# Godot source files
env_glew.add_source_files(env.drivers_sources, "*.cpp")
Export('env')