Ok, maybe the problem is to get the URL for libraries. Afterall the ones that we might want at some point is only executables. If we need libraries at some point we can extend it to return many urls or whatever.<br><br>Bye!<br>
Aleix<br><br><div class="gmail_quote">On Sat, Jun 21, 2008 at 12:33 PM, Andreas Pakulat <<a href="mailto:apaku@gmx.de">apaku@gmx.de</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On 20.06.08 22:25:17, Aleix wrote:<br>
> in a previous message we spoke about making a difference for the test<br>
> targets so that we had a way to get a test and its url.<br>
><br>
> Going forward with the idea, I thought that maybe it would be nice to be<br>
> able to get the url from any target. Afterall it would be the same work, so<br>
> it would be nice.<br>
<br>
</div>And as Manuel already said, eventually having special subclasses for<br>
some/all target types (testtarget, library target, ...)<br>
<div class="Ih2E3d"><br>
> I have been speaking about this with apaku in the IRC and we didn't get to<br>
> have a good API for it so we decided to discuss it here with calm and<br>
> harmony. :) The main problem is that, as apaku said, in some platforms a<br>
> target can have more than 1 url. I don't really see the problem, but I'll<br>
> let him to make it clear :P.<br>
<br>
</div>The problem is mainly win32 I think (dunno much about OSX, but I know no<br>
other *nix that has the following). There a shared library has _at<br>
least_ two files: .dll and .lib or .dll.a (depending on compiler). The<br>
latter has all the exported symbols for the .dll and is needed to link<br>
against the .dll. Then there's often also an extra library for debug<br>
symbols (IIRC) and eventually a manifest file. If we provide something<br>
like:<br>
<div class="Ih2E3d"><br>
> My initial idea was something like:<br>
> KUrl IBuildSystemManager::targetUrl(ProjectTargetItem*) const<br>
<br>
</div>We need a way to get these extra files as well, IMHO. If we assume that<br>
we split targetitem into multiple subclasses:<br>
<br>
ExecutableTargetItem<br>
|<br>
- TestExecutableTargetItem<br>
<br>
LibraryTargetItem<br>
<br>
CustomTargetItem<br>
<br>
Then we can just provide a targetUrl() method on those, and for<br>
LibraryTargetItem we can provide something like targetUrl( FileType );<br>
(where FileType would be Library, Import, Debug, Manifest). And of<br>
course defaults to Library.<br>
<br>
The problem with just having IBuildSystemManager::url() is that people<br>
who need the import lib or something else are forced to do<br>
someurl.toString().replace(".dll",".lib") and then also check the<br>
compiler as ming actually created .dll.a for import libs.<br>
<br>
Andreas<br>
<font color="#888888"><br>
--<br>
Time to be aggressive.  Go after a tattooed Virgo.<br>
</font><div><div></div><div class="Wj3C7c"><br>
_______________________________________________<br>
KDevelop-devel mailing list<br>
<a href="mailto:KDevelop-devel@kdevelop.org">KDevelop-devel@kdevelop.org</a><br>
<a href="https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel" target="_blank">https://barney.cs.uni-potsdam.de/mailman/listinfo/kdevelop-devel</a><br>
</div></div></blockquote></div><br>