Policy for Dependencies

Christoph Cullmann cullmann at absint.com
Tue Oct 13 07:09:46 UTC 2015


Hi,

> On Tuesday, October 13, 2015 8:42:43 AM CEST Christoph Cullmann wrote:
>> Hi,
> 
> thanks for raising this topic. I think it's very important that we have a
> general strategy for frameworks and not have thousands of micro-fixes in
> various frameworks.
;=)

> 
>> 1) "Normal" deployment like we do in on Linux => just installing it with all
>> features if possible. 2) "Application Bundles/Installer" like we will have
>> to do it on Win/Mac and 3rdparty Linux people will need to do.
>> 
>> I think the easiest solution is to make stuff optional. That will avoid ugly
>> "if (WIN OR APPLE OR ANDROID)".. hacks in CMake and allow people to still
>> build stuff with that deps on that operating systems if really wanted.
> 
> Given from the no-X11 fixes I think that we should avoid all if (WIN OR APPLE)
> as that:
> a) is hard to maintain
> b) doesn't scale
> c) not testable for the devs working on Linux
> 
> Given that it should be feature based and we should make as much usage of the
> built in CMake features we have. I really like the approach we have now found
> for X11 on OSX: disable certain find modules at a global level.
> 
> I think that is something which could be applied for more things. Control
> through global ECM settings. This could if we don't want to have global
> changes also through convenient command switches:
> 
> e.g. cmake -DECM_BUILD_FOR_OSX_APPBUNDLE
> 
> which then implies e.g. no phonon and no dbus and ...

For X11 that might cut it, as it is non-sense to compile it on mac, but I doubt such
global magic will cut it for other stuff like phonon or dbus.

You might want to have both on mac and windows, too.

If we start to make this global disabled, we will annoy people, too.
In addition: If we want to have 3rdparty devs use our stuff, it must be possible
to avoid these dependencies on Linux, too.

I really would like to have the normal CMake strategy: non-required stuff is optional.

For KNotifications thats even obvious, given its internals are build in a ways that this
stuff is an internal "plugin".

I don't think we need yet an other level of magic, beside things like "X11 on Mac/Win are non-brainers",
which is not much more than we do with other global compiler/cmake flags specific for OSes.

Greetings
Christoph

-- 
----------------------------- Dr.-Ing. Christoph Cullmann ---------
AbsInt Angewandte Informatik GmbH      Email: cullmann at AbsInt.com
Science Park 1                         Tel:   +49-681-38360-22
66123 Saarbrücken                      Fax:   +49-681-38360-20
GERMANY                                WWW:   http://www.AbsInt.com
--------------------------------------------------------------------
Geschäftsführung: Dr.-Ing. Christian Ferdinand
Eingetragen im Handelsregister des Amtsgerichts Saarbrücken, HRB 11234


More information about the Kde-frameworks-devel mailing list