the new structure causes them now to be installed into $TARGET/stage which is simply not what I want. I still consider $TARGET/gui the better choice, since an administrator or packager is not aware of our layer namings. The existing solution was half baked anyway, it did not really replicate the source tree. On the other hand, I want to retain the location of the CSS files within the GUI tree, since I consider it a good practice, to keep "code-like" resources with the actual code, and not far away in some arcane "data" directory. No I've noticed, that the env.GuiResource() function is only used once, for this very task. So, for the time being, we can keep it simple and deditaced to that task, i.e we pick up all CSS files we find and install it into a single target directory. NOTE: this issue has brought to my attention two further, completely unrelated issues * Ticket #1192 (Lumiera hangs on failed GUI start) * The ProcDispatcher does an idle wait, due to an error in timed-wait implementation
52 lines
2 KiB
Python
52 lines
2 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)
|
|
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')
|