On Tue, 2009-12-22 at 16:22 +0100, Michael Wild wrote:
> On 22. Dec, 2009, at 15:52 , Marcel Loose wrote:
> 
> > Hi all,
> > 
> > After reading, re-reading, and re-re-reading the manual, I still don't
> > really get the concept of LINK_INTERFACE_LIBRARIES, 
> > IMPORTED_LINK_DEPENDENT_LIBRARIES, and
> > IMPORTED_LINK_INTERFACE_LIBRARIES. Is this mostly Windows-specific, or
> > does it also apply for Linux?
> > 
> > Best regards,
> > Marcel Loose.
> > 
> 
> LINK_INTERFACE_LIBRARIES is a property you can set if you want to override 
> the set of libraries that appear in the link-interface of one of your own 
> libraries.
> 
> IMPORTED_LINK_INTERFACE_LIBRARIES is the same for IMPORTED targets. E.g. 
> suppose you have this:
> 
> add_library(foo ${FOO_SRCS})
> target_link_libraries(foo bar)
> install(EXPORT ${PROJECT_NAME}Dependencies DESTINATION <somewhere>)
> 
> The created <somewhere>/${PROJECT_NAME}Dependencies.cmake file will list 
> "bar" in the LINK_INTERFACE_LIBRARIES of "foo". This property is essentially 
> a copy of LINK_INTERFACE_LIBRARIES property of "foo" in the build tree (if it 
> is defined).
> 
> 
> IMPORTED_LINK_DEPENDENT_LIBRARIES is AFAIK similar to 
> IMPORTED_LINK_INTERFACE_LIBRARIES but refers to dependencies that are 
> "implementation details".
> 
> 
> HTH
> 
> Michael
> 
Hi Michael,

That clarifies things a bit. Maybe I'm just not familiar enough with
import/export of libraries. Could I compare this
<somewhere>/${PROJECT_NAME}Dependencies.cmake file with the <package>.pc
file that is generated by pkg-config as a means to record compile and
link flags?

Another question: is it common good practice for a CMake-project to
export its public libraries using install(EXPORT...), or would you do
that on a case-to-case basis?

Would there be a use case for LINK_INTERFACE_LIBRARIES within one
project, to relate several libraries within that project?

Best regards,
Marcel Loose.



_______________________________________________
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