Philip Lowman ha scritto:
On Wed, Feb 11, 2009 at 8:54 AM, Brad King <brad.k...@kitware.com
<mailto:brad.k...@kitware.com>> wrote:
Philip Lowman wrote:
On Tue, Feb 10, 2009 at 1:01 PM, Brad King
<brad.k...@kitware.com <mailto:brad.k...@kitware.com> CMake
2.6 makes it easy to export targets from one project (either its
build tree or install tree) for use by another project.
Is this the easiest way to register dependencies of IMPORTED
static libraries against each other? I'm just curious if
there are plans to make target_link_libraries() work for this
or is there a technical problem allowing it?
I do not plan to allow target_link_libraries for this. One must use
IMPORTED_LINK_INTERFACE_LIBRARIES. However, it is easier than your
example makes it because the property can name other imported
targets:
add_library(baz STATIC IMPORTED)
set_target_properties(baz PROPERTIES
IMPORTED_LOCATION_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/libbaz.a
IMPORTED_LOCATION_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/libbazd.a)
add_library(bar STATIC IMPORTED)
set_target_properties(bar PROPERTIES
IMPORTED_LOCATION_RELEASE ${CMAKE_CURRENT_SOURCE_DIR}/libbar.a
IMPORTED_LOCATION_DEBUG ${CMAKE_CURRENT_SOURCE_DIR}/libbard.a
IMPORTED_LINK_INTERFACE_LIBRARIES baz) # <-- dependency is here
I' ma bit confused, just to make clear: the proposed import method are
used in the final projects that USES the libraries.
by install(EXPORT) the needed code is hidden in a config--baz--cmake
file that is evaluated inby the final project tha so does not have to
rely on FindBAZ script.
But effectively this is just a way to hide the fact that the final
project links to both libbaz and libbar
The specification of dependency lib as a STATIC_LIBRARY_FLAGS produce a
bigger library tha has both baz and bar, and can be used straight, at
least under VS7.1
I appreciate the IMPORT and EXPORT stuff and will try to use that (could
we use that also for the whole OpenSceneGraph itself ? what do you think
Philip?)
Nevertheless the STATIC_LIBRARY_FLAGS seems much simpler
Thanks
Yes, thanks for pointing that out, that is much simpler.
Note if the outside project is also created by CMake, the
install(EXPORT)
feature can generate the proper import code for it.
Yes, I hope to play with that feature soon. Thanks.
--
Philip Lowman
_______________________________________________
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