42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
Import('env', 'sys', 'os')
|
|
|
|
libhw_objects = [
|
|
'session.cpp', 'device.cpp', 'gputexture.cpp', 'gpugeometry.cpp',
|
|
'gpuprogram.cpp', 'renderer.cpp', 'glrenderer.cpp', 'glprogram.cpp',
|
|
'glgeometry.cpp', 'gltexture.cpp', 'gpusync.cpp', 'glsync.cpp',
|
|
'vpl.cpp', 'font.cpp', 'viewer.cpp', 'basicshader.cpp', 'shadow.cpp']
|
|
|
|
if sys.platform == 'win32':
|
|
libhw_objects += ['wglsession.cpp',
|
|
'wgldevice.cpp',
|
|
'wglrenderer.cpp']
|
|
elif 'linux' in sys.platform:
|
|
libhw_objects += ['x11session.cpp',
|
|
'x11device.cpp',
|
|
'glxdevice.cpp',
|
|
'glxrenderer.cpp']
|
|
|
|
glEnv = env.Clone()
|
|
glEnv.Append(CPPDEFINES = [['MTS_BUILD_MODULE', 'MTS_MODULE_HW']] )
|
|
if glEnv.has_key('GLLIB'):
|
|
glEnv.Prepend(LIBS=glEnv['GLLIB'])
|
|
if glEnv.has_key('GLLIBDIR'):
|
|
glEnv.Prepend(LIBPATH=glEnv['GLLIBDIR'])
|
|
if glEnv.has_key('GLFLAGS'):
|
|
glEnv.Prepend(CPPFLAGS=glEnv['GLFLAGS'])
|
|
if glEnv.has_key('GLINCLUDE'):
|
|
glEnv.Prepend(CPPPATH=glEnv['GLINCLUDE'])
|
|
|
|
if sys.platform == 'darwin':
|
|
glEnv_osx = glEnv.Clone()
|
|
glEnv_osx.ConfigureForObjectiveCPP()
|
|
libhw_objects += glEnv_osx.SharedObject(['nsglsession.mm',
|
|
'nsgldevice.mm', 'nsglrenderer.mm'])
|
|
|
|
libhw = glEnv.SharedLibrary('mitsuba-hw', libhw_objects)
|
|
if sys.platform == "darwin":
|
|
glEnv.AddPostAction(libhw, 'install_name_tool -id @rpath/libmitsuba-hw.dylib $TARGET')
|
|
|
|
env.Append(LIBS=['mitsuba-hw'])
|
|
env.Append(LIBPATH=[os.path.join(env['BUILDDIR'], 'libhw')])
|