cmake - CMake:对不同目标的循环依赖
问题描述
我的项目在 libs/ 目录中有一个 CMakeLists,如下所示:
add_subdirectory(foo)
add_subdirectory(bar)
使用 bar 取决于 foo。我最近为 foo 添加了新功能,并进行了适当的测试。然而,这些测试需要来自 bar 的功能。这意味着我目前需要运行 CMake 两次才能进行编译。有没有办法解决这个问题,或者我是否坚持多次重新运行 cmake?
有没有办法以特定的方式声明我的依赖关系?即现在我这样做:
add_library(${BAR} ${SRC_FILES} ${PUBLIC_HEADERS} ${PRIVATE_HEADERS})
这意味着${BAR}
在测试中链接(位于 foo 模块中)会将变量扩展为空字符串。我可以告诉 CMake 这应该是一个目标,而不仅仅是一个目标名称吗?
解决方案
推荐阅读
- java - Maven 找不到自定义注解处理器
- c++ - 在 std::thread 中使用分配的结构数据
- html - XMLHTTP60 Req 未显示整个 HTML 文档
- javascript - find.find() 和 browser.find.highlightResults() 不适用于 firefox 61 扩展
- angular - 如何使用服务调用孙组件中的函数
- scala - Spark:将每一行数据帧与另一个数据帧的所有行连接起来的方法
- java - 使用 CriteriaQuery 时如何限制结果
- .htaccess - 使用 htaccess 文件从一个域重定向到另一个域
- c# - 在同一个 Azure Web 应用服务上运行多个具有不同框架(.NET 和 Flask)的独立应用
- c# - SSIS中脚本任务中的多线程现有C#