Commit graph

16 commits

Author SHA1 Message Date
8d6cb19e3f Global-Layer-Renaming: fix handling of GuiResources in the build
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
2018-11-16 18:18:33 +01:00
480104b945 Global-Layer-Renaming: adapt the build system to the new layer names
...with one exception: I'll retain the name "gui" for the final product to be built.
2018-11-16 15:25:28 +01:00
76dd4fb5dc ...tidy.up: prepare for working on the timeline display
''a new hope''

This was quite a long way until we're back at the point of
re-building the timeline anew.

Stash the canvas research code to make room for new things to come
2018-10-07 03:44:00 +02:00
5564a51a79 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
2015-12-25 03:06:33 +01:00
e02a9d213d enable special unit-tests to link against the gui 2014-10-18 04:27:07 +02:00
38bc139778 GTK-stylesheet: change name to gtk-lumiera.css
the mechanism for configuring and locating this file is just fine
and can be retained. Of course, the content of the stylesheet
remains to be ported
2014-10-07 00:59:03 +02:00
Michael Fisher
af5a44997b Project: switch GUI environment to GTK-3 / gtkmm-3.0 2014-10-05 07:49:53 +02:00
8defe47507 Debian/Policy 3.9.x : enforce strict dependencies on dynamic modules
The recommendation is to use the link flag --no-undefined
and to fed *all* dependencies to the respective link step.

This changeset enables this strict linking of dependencies.
It turned out that our dependencies were already sane
(with the sole exception of a direct dependency to X-Lib
in the XV viewer widget)
2013-11-03 00:07:17 +01:00
8e57bbacf1 Rename the "Library" into liblumierasupport.so
Rationale: this is the *support* Library.

The real "Lumiera-Library" does not exist yet.
liblumiera.so will be the *interface* every external
module / plug-in uses to get Lumiera functionality.

Especially the work on Library dependency clean-up
made outright clear, that this interface library
needs to be a separate piece of software, which is
carefully crafted, and more-or-less depends on the
whole application.
2013-01-08 03:00:50 +01:00
8d88ffcdff SCons: rework test definition to link according to layer
tests used to be defined ad hoc and test definitions
are scattered confusingly over various directories.
Now built some simple rules into the buildsystem
to allow organising the tests into layers and
linking them accordingly.

Note: this switches to building shared objects
for the test classes too, which effectively speeds up
both re-building and re-running of test cases
2013-01-07 02:15:05 +01:00
0710d51aaf SCons: fix the remaining shared linking problems on Ubuntu-Precise
Our libraries constitute a clear dependency hierarchy,
we do not want circular dependencies. Declaring these
dependencies while creating the shared libraries would
allow strict checking by the linker; but unfortunately
this also creates transitive depdendencies stored as
DT_NEEDED tags.

While basically this would be just fine, the resolution of $ORIGIN
on gets confused in case of transitively defined library dependencies
over multiple hops, especially in case when actually no symbol of this
transitive dependency is used. Since these newer systems set the
--as-needed switch for linking by default, these unnecessary
DT_NEEDED entries will be purged from the executable, but of course
not from the shared library causing the transitive dependencies.
As a consequence, when loading the executable, the $ORIGIN resolution
mechanism doesn't act on the dependencies recorded in the library,
causing the shared loader to abort with an "unresolved dependency"

So the resolution for these problems is not to use transitive
dependencies on libraries intended to be found via $ORIGIN
2013-01-05 04:50:59 +01:00
56ac1afe18 move Icon building down into separate SConscript 2012-01-11 07:05:01 +01:00
e64a17d1ba SConstruct: reduce the remaining defs
no need to use functions anymore, since
only the clean and phony targets are left
2012-01-11 07:05:00 +01:00
f84da63e11 use import/export instead of passing an artefacts map 2012-01-11 07:05:00 +01:00
25b21fe575 reorder building/installing of Icons
no need to define them together with the source.
SCons is able to work out the real dependencies
just fine. Thus, Icons remain in Main SConstruct
2012-01-11 07:05:00 +01:00
c62eccd25f SCons overhaul/clean-up: disentangle main build
The goal is to make the build scrips more clear
at first sight. So move the main build targets
into a separate SConscript, to make them similar
to the tests, research and tools.

The final goal of this makeover is to reduce
the main SConstruct as much as possible
2012-01-11 07:05:00 +01:00