61 lines
2.3 KiB
Python
61 lines
2.3 KiB
Python
Import('env', 'sys', 'os')
|
|
|
|
# Core library environment with OpenEXR, libpng and libjpeg
|
|
coreEnv = env.Clone()
|
|
if coreEnv.has_key('OEXRLIBDIR'):
|
|
coreEnv.Prepend(LIBPATH=env['OEXRLIBDIR'])
|
|
if coreEnv.has_key('OEXRINCLUDE'):
|
|
coreEnv.Prepend(CPPPATH=env['OEXRINCLUDE'])
|
|
if coreEnv.has_key('OEXRFLAGS'):
|
|
coreEnv.Prepend(CPPFLAGS=env['OEXRFLAGS'])
|
|
if coreEnv.has_key('OEXRLIB'):
|
|
coreEnv.Prepend(LIBS=env['OEXRLIB'])
|
|
if coreEnv.has_key('PNGLIBDIR'):
|
|
coreEnv.Prepend(LIBPATH=env['PNGLIBDIR'])
|
|
if coreEnv.has_key('PNGINCLUDE'):
|
|
coreEnv.Prepend(CPPPATH=env['PNGINCLUDE'])
|
|
if coreEnv.has_key('PNGLIB'):
|
|
coreEnv.Prepend(LIBS=env['PNGLIB'])
|
|
if coreEnv.has_key('JPEGLIBDIR'):
|
|
coreEnv.Prepend(LIBPATH=env['JPEGLIBDIR'])
|
|
if coreEnv.has_key('JPEGINCLUDE'):
|
|
coreEnv.Prepend(CPPPATH=env['JPEGINCLUDE'])
|
|
if coreEnv.has_key('JPEGLIB'):
|
|
coreEnv.Prepend(LIBS=env['JPEGLIB'])
|
|
|
|
coreEnv.Prepend(CPPDEFINES = [['MTS_BUILD_MODULE', 'MTS_MODULE_CORE']])
|
|
|
|
|
|
if sys.platform == 'win32':
|
|
coreEnv.Append(LIBS=['psapi'])
|
|
|
|
libcore_objects = [
|
|
'class.cpp', 'object.cpp', 'statistics.cpp', 'thread.cpp', 'brent.cpp',
|
|
'logger.cpp', 'appender.cpp', 'formatter.cpp', 'lock.cpp', 'qmc.cpp',
|
|
'random.cpp', 'timer.cpp', 'util.cpp', 'properties.cpp', 'half.cpp',
|
|
'transform.cpp', 'spectrum.cpp', 'aabb.cpp', 'stream.cpp',
|
|
'fstream.cpp', 'plugin.cpp', 'triangle.cpp', 'bitmap.cpp',
|
|
'fmtconv.cpp', 'serialization.cpp', 'sstream.cpp', 'cstream.cpp',
|
|
'mstream.cpp', 'sched.cpp', 'sched_remote.cpp', 'sshstream.cpp',
|
|
'zstream.cpp', 'shvector.cpp', 'fresolver.cpp', 'rfilter.cpp',
|
|
'quad.cpp', 'mmap.cpp', 'chisquare.cpp', 'warp.cpp', 'vmf.cpp',
|
|
'tls.cpp', 'ssemath.cpp', 'spline.cpp', 'track.cpp'
|
|
]
|
|
|
|
# Add some platform-specific components
|
|
if sys.platform == 'darwin':
|
|
coreEnv_osx = coreEnv.Clone()
|
|
coreEnv_osx.ConfigureForObjectiveCPP()
|
|
libcore_objects += coreEnv_osx.SharedObject('platform_darwin.mm')
|
|
elif sys.platform == 'win32':
|
|
libcore_objects += coreEnv.SharedObject('getopt.c')
|
|
libcore_objects += coreEnv.SharedObject('platform_win32.cpp')
|
|
|
|
libcore = coreEnv.SharedLibrary('mitsuba-core', libcore_objects)
|
|
|
|
if sys.platform == "darwin":
|
|
coreEnv.AddPostAction(libcore, 'install_name_tool -id @rpath/libmitsuba-core.dylib $TARGET')
|
|
|
|
env.Append(LIBS=['mitsuba-core'])
|
|
env.Append(LIBPATH=[os.path.join(env['BUILDDIR'], 'libcore')])
|