【问题标题】:CMake: find_library on runtime?CMake:在运行时 find_library?
【发布时间】:2015-03-06 21:27:29
【问题描述】:
有一个包含多个项目的 Visual Studio 解决方案,其中一些项目依赖于其他项目,例如:
SLN
Project1[dll]
Project2[exe]
这里 Project2 需要 Project1.lib 和 dll。是否可以通过 cmake 找到 Project1.lib 的路径(find_library 将失败,因为生成 cmake 文件时 lib 不存在)或者唯一的方法是硬编码到 lib 的路径?
【问题讨论】:
标签:
dll
path
cmake
dependencies
runtime
【解决方案1】:
如果它们是同一个解决方案的一部分,我怀疑它们将被构建为同一个 CMake 项目的一部分。
在这种情况下,只需使用 Project1 的目标作为 Project2 的依赖项:
add_library(Project1 ...)
[...]
add_executable(Project2 ...)
target_link_libraries(Project2 Project1)
另一方面,如果您希望将Project1 构建为Project2 的一部分,但不是来自同一个CMake 项目,请查看ExternalProject 模块。