[CMake] Removing overkill linking

Marcel Loose loose at astron.nl
Fri Oct 1 11:40:46 EDT 2010


Hi Paul,

Probably one of the packages that you "pull in" -- dbus, dbug-glib,
libftdi, libglade, gtk+2, hal -- is introducing this dependency. Check
the different *_LIBRARIES variables and you'll probably find the fly in
your ointment.

You may definitely want to look into the LINK_INTERFACE_LIBRARIES option
of target_link_libraries to avoid over-linking.

HTH,
Marcel Loose.



On Fri, 2010-10-01 at 16:12 +0100, Paul McEnery wrote:
> Hi.
> 
> I'm a cmake newbie, and have only been exposed to cmake in the form of
> maintaining a Debian package. I'm working on packaging galinette
> (http://galinette.sourceforge.net). I noticed that cmake appears to be
> linking against libraries which are not actually required. Here is a
> snippet of the dpkg-buildpackage output:
> 
> =============================
> dpkg-shlibdeps: warning: symbol ftdi_usb_get_strings used by
> debian/libgalinette0/usr/lib/libgalinette.so.0 found in none of the
> libraries.
> dpkg-shlibdeps: warning: symbol ftdi_get_error_string used by
> debian/libgalinette0/usr/lib/libgalinette.so.0 found in none of the
> libraries.
> dpkg-shlibdeps: warning: symbol ftdi_init used by
> debian/libgalinette0/usr/lib/libgalinette.so.0 found in none of the
> libraries.
> dpkg-shlibdeps: warning: symbol ftdi_write_data used by
> debian/libgalinette0/usr/lib/libgalinette.so.0 found in none of the
> libraries.
> dpkg-shlibdeps: warning: symbol ftdi_set_line_property used by
> debian/libgalinette0/usr/lib/libgalinette.so.0 found in none of the
> libraries.
> dpkg-shlibdeps: warning: 4 other similar warnings have been skipped
> (use -v to see them all).
> dpkg-shlibdeps: warning: dependency on libftdi.so.1 could be avoided
> if "debian/galinette-nox/usr/bin/galinette-flash" were not uselessly
> linked a
> gainst it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libfontconfig.so.1 could be
> avoided if "debian/galinette/usr/bin/galinette" were not uselessly
> linked again
> st it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libm.so.6 could be avoided if
> "debian/galinette/usr/bin/galinette" were not uselessly linked against
> it (th
> ey use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libatk-1.0.so.0 could be
> avoided if "debian/galinette/usr/bin/galinette" were not uselessly
> linked against it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libxml2.so.2 could be avoided
> if "debian/galinette/usr/bin/galinette" were not uselessly linked
> against it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libftdi.so.1 could be avoided
> if "debian/galinette/usr/bin/galinette" were not uselessly linked
> against it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on librt.so.1 could be avoided if
> "debian/galinette/usr/bin/galinette" were not uselessly linked against
> it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libpthread.so.0 could be
> avoided if "debian/galinette/usr/bin/galinette" were not uselessly
> linked against it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libgio-2.0.so.0 could be
> avoided if "debian/galinette/usr/bin/galinette" were not uselessly
> linked against it (they use none of its symbols).
> dpkg-shlibdeps: warning: dependency on libgdk_pixbuf-2.0.so.0 could be
> avoided if "debian/galinette/usr/bin/galinette" were not uselessly
> linked against it (they use none of its symbols).
> =============================
> 
> The easiest way to browse the source for both the Debian package, and
> galinette is via my github repository:
> 
> http://github.com/pmcenery/galinette-debian
> 
> 
> I've searched the web, and looked at the cmake documentation, but I
> cant see how library linking can be more strictly controlled. If
> someone could point me in the right direction, or offer some advice -
> it would be much appreciated.
> 
> Kind regards,
> Paul.
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake




More information about the CMake mailing list