有一个包含多个项目的Visual Studio解决方案,其中一些项目取决于其他项目,例如:
SLN
Project1[dll]
Project2[exe]
这里Project2需要Project1.lib和dll。是否有可能通过cmake找到Project1.lib的路径(find_library将失败,因为生成cmake文件时lib不存在)或唯一的方法是将路径硬编码到lib?
答案 0 :(得分:0)
如果它们是同一个解决方案的一部分,我怀疑它们将被构建为同一个CMake项目的一部分。
在这种情况下,只需使用Project1的目标作为Project2的依赖项:
add_library(Project1 ...)
[...]
add_executable(Project2 ...)
target_link_libraries(Project2 Project1)
另一方面,如果您希望将Project1
构建为Project2
的一部分但不来自同一个CMake项目,请查看{{ 3}}模块。