build/platform: make lib SigC++ available for GUI test code

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
This commit is contained in:
Fischlurch 2015-12-25 03:06:33 +01:00
parent 4d1fcd6dcb
commit 5564a51a79
4 changed files with 10 additions and 2 deletions

View file

@ -114,6 +114,9 @@ def configure(env):
if not conf.CheckPkgConfig('glibmm-2.4', '2.39'):
problems.append('Unable to configure the mm-bindings for Glib')
if not conf.CheckPkgConfig('sigc++-2.0', '2.2.10'):
problems.append('Need the signal-slot-binding library SigC++2')
if not conf.CheckPkgConfig('glib-2.0', '2.40'):
problems.append('Need a suitable Glib version.')

View file

@ -37,7 +37,7 @@ plugins = [] # currently none
# the Lumiera GTK GUI
envGtk = env.Clone()
envGtk.mergeConf(['gtkmm-3.0','gthread-2.0','cairomm-1.0','gdl','xv','x11','xext','sm'])
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)

View file

@ -44,6 +44,7 @@
//#include "lib/util.hpp"
#include <boost/noncopyable.hpp>
#include <sigc++/trackable.h>
#include <string>
@ -65,7 +66,8 @@ namespace model {
* @todo write type comment...
*/
class Tangible
: boost::noncopyable
: public sigc::trackable
, boost::noncopyable
{
protected:
using GenNode = lib::diff::GenNode;

View file

@ -48,6 +48,9 @@ def testCases(env,dir):
"""
env = env.Clone()
env.Append(CPPPATH=dir) # add subdir to Includepath
if dir.startswith('gui'):
# additional libs used from gui tests
env.mergeConf(['sigc++-2.0'])
# pick up all test classes and link them shared
testlib = []