开发者

CMake - Issue with static library

I'm using CMake-2.8 on winxp with Visual Studio 2005 generator.

lets say I've a dll created (A.dll) from some cxx files and a static library static.lib

So I call Link_Directories to specify the directory where the static library is located. Now A.dll is built开发者_StackOverflow社区 fine.

Now I want B.dll built from some cxx sources, A.lib (the import lib of A.dll)

Now when I say Target_Link_Libraries for (B A), the project file is created with static.lib also as a dependency. Now B has two dependencies A and static.lib. But I'm not adding the directory of static.lib to Link_Directories for B and my build fails.

I do not think B needs to know about static.lib

Any Ideas how to avoid this ?

Thanks in advance, Surya


From the CMake docs:

Library dependencies are transitive by default. When this target is linked into another target then the libraries linked to this target will appear on the link line for the other target too. See the LINK_INTERFACE_LIBRARIES target property to override the set of transitive link dependencies for a target.

Hence, this should solve your problem:

TARGET_LINK_LIBRARIES(B LINK_INTERFACE_LIBRARIES A)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜