# -*- python -*- ## ## SConscript - SCons buildscript for the Lumiera Application. ## Definitions how to build the main tree ## from Buildhelper import srcSubtree from Buildhelper import scanSubtree Import('env icons config') # define the source file/dirs comprising each artifact to be built. lLib = env.SharedLibrary('lumierasupport', srcSubtree('lib'), install=True) lApp = env.SharedLibrary('lumieracommon', srcSubtree('common'), addLibs=lLib, install=True) lVault = env.SharedLibrary('lumieravault', srcSubtree('vault'), addLibs=lLib+lApp, install=True) lSteam = env.SharedLibrary('lumierasteam', srcSubtree('steam'), addLibs=lLib+lApp+lVault,install=True) # in reverse dependency order core = lSteam+lVault+lApp+lLib # used to build the core application app_lib = lApp+lLib # use to link against the platform core_lib = core # use to link against the core application vault_lib = lVault+app_lib # use to link against the low-level backend support_lib = lLib # use to link against the support lib only lumiera = ( env.Program('lumiera', ['lumiera/main.cpp'] + core, install=True) + config ) # Install the lumiera application: # symlink the executable into the bin dir env.SymLink('#$DESTDIR/bin/lumiera',env.path.installExe+'lumiera','../lib/lumiera/lumiera') # building Lumiera Plugins plugins = [] # currently none # the Lumiera GTK GUI envGtk = env.Clone() envGtk.mergeConf(['gtkmm-3.0','sigc++-2.0','gthread-2.0','cairomm-1.0','gdl','xv','x11','xext','sm']) guimodule = envGtk.LumieraPlugin('gtk_gui', srcSubtree('stage') + core, install=True) resources = ( [env.GuiResource(f) for f in scanSubtree('stage', ['*.css'])] # note: collected into one target dir ) gui = ( guimodule + resources + icons ) Export('lumiera core core_lib app_lib vault_lib support_lib plugins envGtk guimodule gui')