CMake:运行时的find_library?

时间:2015-03-06 21:27:30

标签: dll path cmake dependencies runtime

有一个包含多个项目的Visual Studio解决方案,其中一些项目取决于其他项目,例如:

SLN
    Project1[dll]
    Project2[exe]

这里Project2需要Project1.lib和dll。是否有可能通过cmake找到Project1.lib的路径(find_library将失败,因为生成cmake文件时lib不存在)或唯一的方法是将路径硬编码到lib?

1 个答案:

答案 0 :(得分:0)

如果它们是同一个解决方案的一部分,我怀疑它们将被构建为同一个CMake项目的一部分。

在这种情况下,只需使用Project1的目标作为Project2的依赖项:

add_library(Project1 ...)

[...]
add_executable(Project2 ...)
target_link_libraries(Project2 Project1)

另一方面,如果您希望将Project1构建为Project2的一部分但来自同一个CMake项目,请查看{{ 3}}模块。