KF5 Update Meeting Minutes 2013-w31
Kevin Ottens
ervin+bluesystems at kde.org
Wed Jul 31 08:48:53 BST 2013
On Tuesday 30 July 2013 23:18:35 Alexander Neundorf wrote:
> On Tuesday 30 July 2013, Kevin Ottens wrote:
> > * ben2367 is still looking in unifying our cmake files regarding
> > variables vs direct use of targets;
>
> Current conclusion (not yet merged into cmake, but will hopefully make it
> for 2.8.12): use ${PackageName_LIBRARY_TARGETS}.
Note that even though I didn't voice in the relevant thread yet I think it's a
good fit *for now* so that we can build both kdelibs as a whole or as separate
frameworks.
Once the splitting will be done I'm not so sure it's better than using
directly the namespaced target names. The reason being that variables are
really a pain with cmake... I mean if you mistakenly use a variable name which
doesn't exist it's just expanded to nothing. Target names don't have that
problem.
Of course I think we should provide the variables to the outside for those who
want it, but target should probably be encouraged. Anyway that's a "for later"
discussion, for the time being we're kind of forced to use variables so that
people who make the non-monolithic builds aren't blocked.
> Once the support for this is in cmake, cmake will guarantee that the
> contents of this variable all refer to existing targets, and that each of
> these targets has the INTERFACE_INCLUDE_DIRECTORIES property set, so that
> for the reader of a CMakeLists.txt a call like
> target_link_libraries(foo ${KCoreAddons_LIBRARY_TARGETS} )
> will guarantee that this thing contains targets, and that these targets come
> attached with the include dirs, so that no include_directories() call is
> necessary for KCoreAddons, in this example.
> No framework sets this variable yet.
> So from my side I don't see a need to hurry with this.
>
> I'll have time again to work in this in roughly 3 weeks.
Or you could actually explain what's needed for us to make it proper, so that
someone like Benjamin can look into it. I'd rather see more team work in the
CMake area than it currently is...
> > * he's also working on the forwarding headers generation;
> > * and last but not least he's making progress on a script to plot the
> > frameworks dependencies;
>
> Dependencies to external packages or between the libraries within kdelibs ?
Within kdelibs.
> I guess you did have a look at cmake --graphviz=<filename> <buildir> ?
> If you use cmake git master, the options for modifying the output should now
> even be documented.
Yes, AFAIK that's what he's been using to build his script upon.
> > Action items still open:
> > * [sandsmark] Finish the work on KPtyProcess
> > * [steveire] Write a "CMake for frameworks" guideline in the wiki
>
> I was about to start with that.
Again, please make that a team effort, I think I asked Steve to keep you in
the loop when he picks that up... if it turns out that you pick it first I'd
like the same thing from you: please work on it with Steve.
> I think it may make sense to have 3 separate sections:
> * using KDE frameworks libraries for 3rd party developers (i.e. Qt project
> which want to make use of one or another library)
> * using KDE frameworks for KDE software ("full blown" KDE applications)
> * using cmake withint KDE frameworks
The most pressing at the moment is the later. The other parts are important of
course, but the part about using cmake within KDE Frameworks is badly needed
already.
Also I'm not sure I would make a difference between third party developers and
KDE developers for the use of KF5. On the cmake front it should really be the
same except for maybe some minor policy details (otherwise we're doing
something wrong IMO).
Regards.
--
Kévin Ottens, http://ervin.ipsquad.net
Sponsored by BlueSystems and KDAB to work on KDE Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20130731/e08b899f/attachment.sig>
More information about the kde-core-devel
mailing list