Hi,

not sure wether this is really a fault in cmake, or just some changed
behaviour which needs changes in kdelibs cmake code.

Anyway, the latest cvs version from cmake (update 2 hours ago) produces
the following entries in KDELibsDependencies.cmake. This file is
generated using the export_library_dependecies() command:

SET(kdecore_LIB_DEPENDS 
"general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;/home/andreas/qt-copy/lib/libQtNetwork.so;general;/home/andreas/qt-copy/lib/libQtDBus.so;general;/home/andreas/qt-copy/lib/libQtXml.so;general;libz.so;general;libbz2.so;general;resolv;")
SET(kdeui_LIB_DEPENDS 
"general;/home/andreas/qt-copy/lib/libQtSvg.so;general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;-lSM;general;libICE.so;general;libX11.so;general;libXext.so;general;libXft.so;general;libXau.so;general;libXdmcp.so;general;libXpm.so;general;/home/andreas/qt-copy/lib/libQtGui.so;general;/home/andreas/qt-copy/lib/libQtXml.so;general;libXtst.so;general;libXcursor.so;general;libXfixes.so;")
SET(kio_LIB_DEPENDS 
"general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;kdeui;general;libz.so;general;/home/andreas/kde4/lib/libstreamanalyzer.so;general;/home/andreas/kde4/lib/libstreams.so;general;/home/andreas/qt-copy/lib/libQtCore.so;general;-lpthread;general;kdecore;general;solid;general;libfam.so;general;libacl.so;general;libattr.so;general;libXrender.so;")
...

The problem with this is that those lines are literally taken and given
to target_link_libraries. Which fails as those lines contain an entry
"general". The linker line then has -lgeneral, but at least in the
debian repository there's no such file.

Also I noticed that the linker line doesn't contain an option that gives
gcc the kde4 library dir to search for kde libs. This is another thing
which broke things for me here, i.e. ld complains that -lsolid cannot be
found (as you can see below there's a solid entry in the kio-line).

The linker call is:
/usr/lib/ccache/c++  -fPIC -pipe -Wnon-virtual-dtor -Wno-long-long -ansi 
-Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith 
-Wformat-security -fno-exceptions -fno-check-new -fno-common 
-Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g 
-Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared 
-Wl,-soname,libkresources.so.4 -o ../lib/libkresources.so.4.1.0 
"CMakeFiles/kresources.dir/kresources_automoc.cpp.o" 
"CMakeFiles/kresources.dir/resource.cpp.o" 
"CMakeFiles/kresources.dir/factory.cpp.o" 
"CMakeFiles/kresources.dir/managerimpl.cpp.o" 
"CMakeFiles/kresources.dir/configwidget.cpp.o" 
"CMakeFiles/kresources.dir/configdialog.cpp.o" 
"CMakeFiles/kresources.dir/selectdialog.cpp.o" 
"CMakeFiles/kresources.dir/configpage.cpp.o" 
"CMakeFiles/kresources.dir/idmapper.cpp.o" 
"CMakeFiles/kresources.dir/kresourcesmanageradaptor.cpp.o" 
/home/andreas/qt-copy/lib/libQtCore.so -lpthread -lkdecore -lkdeui -lz 
/home/andreas/kde4/lib/libstreamanalyzer.so 
/home/andreas/kde4/lib/libstreams.so /home/andreas/qt-copy/lib/libQtCore.so 
-lpthread -lkdecore -lsolid -lfam -lacl -lattr -lXrender 
/home/andreas/kde4/lib/libkio.so /home/andreas/qt-copy/lib/libQtSvg.so -lSM 
-lICE -lX11 -lXext -lXft -lXau -lXdmcp -lXpm -lXtst -lXcursor -lXfixes 
/home/andreas/qt-copy/lib/libQtNetwork.so -lbz2 -lresolv 
/home/andreas/qt-copy/lib/libQtCore.so -lpthread 
/home/andreas/qt-copy/lib/libQtDBus.so /home/andreas/qt-copy/lib/libQtXml.so 
/home/andreas/qt-copy/lib/libQtGui.so 
-Wl,-rpath,/home/andreas/qt-copy/lib:/home/andreas/kde4/lib 


Andreas

PS: For comparison, this is the content thats generated from cmake 2.4.7
(or cmake cvs from two or three weeks ago, when I last updated):

SET(kdecore_LIB_DEPENDS 
"/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;/home/andreas/qt-copy/lib/libQtNetwork.so;/home/andreas/qt-copy/lib/libQtDBus.so;/home/andreas/qt-copy/lib/libQtXml.so;libz.so;libbz2.so;resolv;")
SET(kdeui_LIB_DEPENDS 
"/home/andreas/qt-copy/lib/libQtSvg.so;/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;kdecore;-lSM;libICE.so;libX11.so;libXext.so;libXft.so;libXau.so;libXdmcp.so;libXpm.so;/home/andreas/qt-copy/lib/libQtGui.so;/home/andreas/qt-copy/lib/libQtXml.so;libXtst.so;libXcursor.so;libXfixes.so;")
SET(kio_LIB_DEPENDS 
"/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;kdecore;kdeui;libz.so;/home/andreas/kde4/lib/libstreamanalyzer.so;/home/andreas/kde4/lib/libstreams.so;/home/andreas/qt-copy/lib/libQtCore.so;-lpthread;kdecore;solid;libfam.so;libacl.so;libattr.so;libXrender.so;")

And this is the linker line for the same lib with cmake 2.4.7:
/usr/lib/ccache/c++  -fPIC -pipe -Wnon-virtual-dtor -Wno-long-long -ansi 
-Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith 
-Wformat-security -fno-exceptions -fno-check-new -fno-common 
-Woverloaded-virtual -fvisibility=hidden -fvisibility-inlines-hidden -O2 -g 
-Wl,--enable-new-dtags -Wl,--fatal-warnings -Wl,--no-undefined -lc  -shared 
-Wl,-soname,libkresources.so.4 -o ../lib/libkresources.so.4.1.0 
"CMakeFiles/kresources.dir/kresources_automoc.o" 
"CMakeFiles/kresources.dir/resource.o" "CMakeFiles/kresources.dir/factory.o" 
"CMakeFiles/kresources.dir/managerimpl.o" 
"CMakeFiles/kresources.dir/configwidget.o" 
"CMakeFiles/kresources.dir/configdialog.o" 
"CMakeFiles/kresources.dir/selectdialog.o" 
"CMakeFiles/kresources.dir/configpage.o" "CMakeFiles/kresources.dir/idmapper.o" 
"CMakeFiles/kresources.dir/kresourcesmanageradaptor.o" 
-L/home/andreas/qt-copy/lib -L/home/andreas/kde4/lib -lQtCore -lpthread 
-lkdecore -lkdeui -lz -lstreamanalyzer -lstreams -lQtCore -lpthread -lkdecore 
-lsolid -lfam -lacl -lattr -lXrender -lkio -lQtSvg -lSM -lICE -lX11 -lXext 
-lXft -lXau -lXdmcp -lXpm -lXtst -lXcursor -lXfixes -lQtNetwork -lbz2 -lresolv 
-lQtCore -lpthread -lQtDBus -lQtXml -lQtGui 
-Wl,-rpath,/home/andreas/qt-copy/lib:/home/andreas/kde4/lib 

-- 
Don't look back, the lemmings are gaining on you.
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to