Get at the url for a target item

Andreas Pakulat apaku at
Tue Jul 22 15:39:50 UTC 2008


so now we have different target types for executables, libs and other
things. Lets get back to the original reason we did this: Allowing any
plugin to ask the buildsystem manager of a project where the target is
actually lying in the builddir (later we might also want to know this
for installdir, but one step after the other).

The problem with this is that a IBuildSystemManager::targetUrl(
ProjectTargetItem) function isn't sufficient as the target might provide
multiple files depending on the platform on which it is built. 

The following is my idea about the possible values for an additional
enum parameter and their meaning - slightly borrowed from CMake (search
for "RUNTIME in man cmake, look for the docs for the install command):

Runtime - returns the executable for executable-targets and the .dll/.so
for shared libraries
Archive - for static libs returns the .a, for .dll returns the import

What I'm not sure about is handling of Framework and MacOSX Bundle's
because I basically have no idea how they differ from normal shard libs
and executables. Somebody with MacOSX knowledge: Please help us out here

Note that this is shorter than CMake as I don't think we need the
difference between static vs. shared vs. module library. I think that
information is better put as a simple enum into the LibraryTarget (or is
that more trouble for CMake support, Aleix?). 


Perfect day for scrubbing the floor and other exciting things.

More information about the KDevelop-devel mailing list