From kde-buildsystem Tue Jun 16 22:16:21 2009 From: Andreas Pakulat Date: Tue, 16 Jun 2009 22:16:21 +0000 To: kde-buildsystem Subject: Re: KDE/kdevplatform/plugins Message-Id: <20090616221621.GK4676 () trinity ! apaku ! dnsalias ! org> X-MARC-Message: https://marc.info/?l=kde-buildsystem&m=124524755019813 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@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem _______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem