【发布时间】:2023-03-03 13:42:04
【问题描述】:
我有两个独立的项目,每个项目都构建一个共享库,该库与一个公共静态库链接。 在每个共享库的 CMakeLists.txt 中,我将拥有:
add_dependencies(my_shared1 my_common_lib)
和
add_dependencies(my_shared2 my_common_lib)
静态库有自己的源代码并驻留在自己的文件夹中。定义通用静态 cmake 脚本的最佳方式是什么?
【问题讨论】:
-
不应该将
add_dependencies替换为target_link_libraries吗? (这意味着您的my_shared1库不仅依赖my_common_lib之一,而且与它链接。 -
可能!无论如何,我的问题的重点仍然是......
-
如果你的意思是
target_link_libraries,那么答案就在这里:stackoverflow.com/questions/50292879/…(简而言之:使用link_libraries)。 -
我其实想知道如何让 target_link_libraries 调用 my_common_lib 的构建过程。
-
target_link_libraries暗示目标级别的依赖关系。也就是说,my_shared1库的构建只有在my_common_lib库构建后才开始。
标签: cmake dependencies static-libraries