diff --git a/SConstruct b/SConstruct
index 16fda2d2f..dba344dc0 100644
--- a/SConstruct
+++ b/SConstruct
@@ -28,11 +28,11 @@
# Read more about the SCons build system at: http://www.scons.org
-# SCons plugins and extension modules
-#------------------------------------------------
+# NOTE: Lumiera SCons extension modules and plugins
+#--------------------------------------------------
import sys
sys.path.append('./admin/scons')
-#------------------------------------------------
+#--------------------------------------------------
import Setup
diff --git a/admin/scons/Buildhelper.py b/admin/scons/Buildhelper.py
index 2c54a2f50..78733e246 100644
--- a/admin/scons/Buildhelper.py
+++ b/admin/scons/Buildhelper.py
@@ -63,8 +63,7 @@ def scanSubtree(roots, patterns=SRCPATTERNS):
"""
for root in globRootdirs(roots):
for (d,_,files) in os.walk(root):
- if d.startswith('./'):
- d = d[2:]
+ d = stripPrefix(d, './')
for p in patterns:
for f in fnmatch.filter(files, p):
yield os.path.join(d,f)
@@ -136,15 +135,20 @@ def getDirname (d, basePrefix=None):
d,_ = os.path.split(d)
if basePrefix:
basePrefix = os.path.realpath(basePrefix)
- name = str(d)
- if str(d).startswith(basePrefix):
- name = name[len(basePrefix):]
+ name = stripPrefix(str(d), basePrefix)
else:
_, name = os.path.split(d)
return name
+def stripPrefix(path, prefix):
+ if path.startswith(prefix):
+ path = path[len(prefix):]
+ return path
+
+
+
def createPlugins(env, directory, **kw):
""" investigate the given source directory to identify all contained source trees.
@return: a list of build nodes defining a plugin for each of these source trees.
diff --git a/admin/scons/LumieraEnvironment.py b/admin/scons/LumieraEnvironment.py
index e59edddd0..e7c29629a 100644
--- a/admin/scons/LumieraEnvironment.py
+++ b/admin/scons/LumieraEnvironment.py
@@ -157,7 +157,7 @@ def register_LumieraResourceBuilder(env):
return (generateTargets, source)
def IconResource(env, source):
- """Copy icon pixmap to corresponding icon dir. """
+ """ copy icon pixmap to corresponding icon dir. """
subdir = getDirname(str(source))
toBuild = env.path.buildIcon+subdir
toInstall = env.path.installIcon+subdir
@@ -165,9 +165,11 @@ def register_LumieraResourceBuilder(env):
return env.Install(toBuild, source)
def GuiResource(env, source):
- subdir = getDirname(str(source))
- toBuild = env.path.buildUIRes+subdir
- toInstall = env.path.installUIRes+subdir
+ """ pick up giben source resource and install
+ them (flat) into the configured target
+ """
+ toBuild = env.path.buildUIRes
+ toInstall = env.path.installUIRes
env.Install (toInstall, source)
return env.Install(toBuild, source)
diff --git a/admin/scons/Setup.py b/admin/scons/Setup.py
index 3e0b15727..510e6b852 100644
--- a/admin/scons/Setup.py
+++ b/admin/scons/Setup.py
@@ -40,9 +40,9 @@ CUSTOPTFILE = 'custom-options'
buildExe = '#$TARGDIR'
buildLib = '#$TARGDIR/modules'
buildPlug = '#$TARGDIR/modules'
-buildIcon = '#$TARGDIR/gui/icons'
-buildUIRes = '#$TARGDIR/'
-buildConf = '#$TARGDIR/config'
+buildIcon = '#$TARGDIR/gui/icons' # for IconResource() and IconRender()
+buildUIRes = '#$TARGDIR/gui/' # for GuiResource()
+buildConf = '#$TARGDIR/config' # for ConfigData()
installExe = '#$DESTDIR/lib/lumiera'
installLib = '#$DESTDIR/lib/lumiera/modules'
installPlug = '#$DESTDIR/lib/lumiera/modules'
diff --git a/data/config/setup.ini b/data/config/setup.ini
index bffb29e92..17befa9a2 100644
--- a/data/config/setup.ini
+++ b/data/config/setup.ini
@@ -20,5 +20,5 @@ copyright = 2007 - 2015
[Gui]
#stylesheet = lumiera.css
stylesheet = lumiera-light-theme-complement.css
-iconpath = $ORIGIN/../../share/lumiera/icons:$ORIGIN/gui/icons:~/.lumiera/icons
-resourcepath = $ORIGIN/../../share/lumiera/gui:$ORIGIN/gui
+iconpath = $ORIGIN/../../share/lumiera/icons:$ORIGIN/gui/icons
+resourcepath = $ORIGIN/../../share/lumiera:$ORIGIN/gui
diff --git a/src/SConscript b/src/SConscript
index c79759161..747817521 100644
--- a/src/SConscript
+++ b/src/SConscript
@@ -16,11 +16,12 @@ lApp = env.SharedLibrary('lumieracommon', srcSubtree('common'), addLibs=lLib,
lVault = env.SharedLibrary('lumieravault', srcSubtree('vault'), addLibs=lLib+lApp, install=True)
lSteam = env.SharedLibrary('lumierasteam', srcSubtree('steam'), addLibs=lLib+lApp+lVault,install=True)
-core = lSteam+lVault+lApp+lLib # in reverse dependency order
-support_lib = lLib
-app_lib = lApp+support_lib
-vault_lib = lVault+app_lib
-core_lib = core
+ # 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
@@ -40,9 +41,11 @@ 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
- + [env.GuiResource(f) for f in env.Glob('stage/*.css')]
)
diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm
index 3f2a48a80..6e4ef6083 100644
--- a/wiki/thinkPad.ichthyo.mm
+++ b/wiki/thinkPad.ichthyo.mm
@@ -79,8 +79,8 @@
-
-
+
+
@@ -91,7 +91,7 @@
-
+
@@ -116,7 +116,7 @@