On 2011-11-23 10:44+0100 Michael Wild wrote:

On 11/23/2011 10:25 AM, Alan W. Irwin wrote:
cmake-2.8.6 has the following documentation of the
LINK_INTERFACE_LIBRARIES property for targets:

  LINK_INTERFACE_LIBRARIES
       List public interface libraries for a shared library or executable.

       By default linking to a shared library target transitively links to
       targets with which the library itself was linked.  For an executable
       with exports (see the ENABLE_EXPORTS property) no default transitive
       link dependencies are used.  This property replaces the default
       transitive link dependencies with an explicit list.  When the target
       is linked into another target the libraries listed (and recursively
       their link interface libraries) will be provided to the other target
       also.  If the list is empty then no transitive link dependencies
will
       be incorporated when this target is linked into another target
even if
       the default set is non-empty.  This property is ignored for STATIC
       libraries.

I believe the reference to executables above is just plain
wrong/misleading.  For example, the FAQ states that
LINK_INTERFACE_LIBRARIES simply lists "the libraries that should be
transitively included in the link by CMake" with the clear implication
(also confirmed by experiment below) that this target property affects
_everything that links to the target whose property is being set_.
But nothing links to an executable so why are executables mentioned at
all?

That's not true. See the ENABLE_EXPORTS target property.

Oops.  You are right.  I had never ever heard of applications
exporting symbols before.  Live and learn.

Alan

__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________
--

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

Reply via email to