Explanation: sigC++ was already linked as transitive dependency from gtkmm, since it is used for the "signal-slot" system wihin GTK. But now we want to use sigC++ itself from our generic UI-Backbone, so we need to pick up the additional compiler and linker flags and use them when building the relevant parts of both the application and the test suite
50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
# -*- 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)
|
|
lBack = env.SharedLibrary('lumierabackend', srcSubtree('backend'),addLibs=lLib+lApp, install=True)
|
|
lProc = env.SharedLibrary('lumieraproc', srcSubtree('proc'), addLibs=lLib+lApp+lBack, install=True)
|
|
|
|
core = lProc+lBack+lApp+lLib # in reverse dependency order
|
|
support_lib = lLib
|
|
app_lib = lApp+support_lib
|
|
backend_lib = lBack+app_lib
|
|
core_lib = core
|
|
|
|
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'])
|
|
envGtk.Append(LIBS=core)
|
|
|
|
guimodule = envGtk.LumieraPlugin('gtk_gui', srcSubtree('gui'), install=True)
|
|
gui = ( guimodule
|
|
+ icons
|
|
+ [env.GuiResource(f) for f in env.Glob('gui/*.css')]
|
|
)
|
|
|
|
|
|
Export('lumiera core core_lib app_lib backend_lib support_lib plugins guimodule gui')
|