KDE/kdevplatform/plugins
Andreas Pakulat
apaku at gmx.de
Wed Jun 17 00:16:21 CEST 2009
Resending as Alex lost his copy and I'd like to get his answer easily
onto this list, hope the other readers don't mind.
On 07.06.09 21:50:06, Andreas Hartmetz wrote:
> On Sunday 07 June 2009 01:39:56 Andreas Pakulat wrote:
> > On 06.06.09 21:05:34, Andreas Hartmetz wrote:
> > > SVN commit 978363 by ahartmetz:
> > >
> > > link with gold
> > >
> > > M +6 -4 git/tests/CMakeLists.txt
> > > M +2 -0 mercurial/tests/CMakeLists.txt
> > > M +1 -1 snippet/CMakeLists.txt
> > >
> > >
> > > --- trunk/KDE/kdevplatform/plugins/git/tests/CMakeLists.txt
> > > #978362:978363 @@ -20,13 +20,15 @@
> > > set( EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_BINARY_DIR} )
> > > set(gitInitTest_SRCS initTest.cpp ../gitplugin.cpp)
> > > kde4_add_unit_test(kdevgit-test ${gitInitTest_SRCS})
> > > - target_link_libraries(kdevgit-test
> > > - ${QT_QTTEST_LIBRARY}
> > > - ${KDE4_KDECORE_LIBS}
> > > + target_link_libraries(kdevgit-test
> > > + ${QT_QTTEST_LIBRARY}
> > > + ${KDE4_KDECORE_LIBS}
> > > + kdevplatformshell
> > > + kdevplatforminterfaces
> > > kdevplatformutil
> > > kdevplatformvcs
> > > kdevplatformtestshell
> >
> > This shouldn't be needed kdevplatformtestshell sets kdevplatformshell as
> > link-interface library, which means the linker is supposed to automatically
> > link the library in. This suggests that either your linker is broken, or
> > CMake needs special support for the gold linker. Please revert this and the
> > similar commit you've done to kdevelop (the same applies to the other 2
> > files this commit changes).
> >
> The link interface libraries should, for all I know, be added to the g++ / ld
> command-line by cmake. KOffice for example builds just fine after all its
> libraries have gotten a comprehensive link interface. I had a discussion about
> this with Thomas Zander and it turned out that this was how it was supposed to
> work but it broke and people using ld didn't notice. Thomas fixed just a few
> lines in some CMakeLists.txt and all the linker errors were gone.
> I suspect that the link interface setup here somehow doesn't work.
Moving over to kde-buildsystem to get some more input.
Maybe I misunderstood how the link-interface-libs stuff is supposed to
work. So far I though that if kdevplatformtestshell library declares
kdevplatformshell as one of its link-interface libraries, then cmake will
automatically add the kdevplatformshell library to any other target that
links against kdevplatformtestshell. In the same way kdevplatformshell has
kdevplatforminterfaces as its link-interface-lib, hence a target linking to
kdevplatformshell should get kdevplatforminterfaces too.
What I'm actually not 100% sure about at this point, if target kdevgit-test
links against kdevplatformtestshell, which has kdevplatformshell as
link-interface-lib then does it also automatically get
kdevplatforminterfaces because kdevplatformshell has that in its own
link-interface-lib? In other words, are link-interface-libs "forwarded" in
this sense?
Andreas
--
You could live a better life, if you had a better mind and a better body.
_______________________________________________
Kde-buildsystem mailing list
Kde-buildsystem at kde.org
https://mail.kde.org/mailman/listinfo/kde-buildsystem
More information about the Kde-buildsystem
mailing list