[CMake] MSVC7.1 static link question

Philip Lowman philip at yhbt.com
Thu Feb 12 06:34:34 EST 2009


On Wed, Feb 11, 2009 at 8:54 AM, Brad King <brad.king at kitware.com> wrote:

> Philip Lowman wrote:
>
>> On Tue, Feb 10, 2009 at 1:01 PM, Brad King <brad.king at 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


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090212/e9e52244/attachment.htm>


More information about the CMake mailing list