CMake对常见静态库的依赖

时间:2018-06-03 15:01:01

标签: cmake dependencies static-libraries

我有两个独立的项目,每个项目都构建一个与公共静态库链接的共享库。 在每个共享库中#39; CMakeLists.txt我将:

add_dependencies(my_shared2 my_common_lib)

{{1}}

静态lib有自己的源并驻留在自己的文件夹中。定义公共静态cmake脚本的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

如果你的"项目"是紧密耦合(例如,生活在同一个存储库/具有相同的父目录),只需在所有三个上面写CMakeLists.txt,为每个项目调用add_subdirectory目录。如果您在每个中使用project,它们应该在VS / XCode中显示为单独的实体。

如果没有,只需像往常一样为静态库编写CMakeLists.txt,让它自行导出(查看export()install(EXPORTS))并使用find_package消费者找到它,然后只是target_link_libraries导入的目标。

如果这些需要存在于单独的存储库中,但是需要在某处创建构建所有三个的构建,那么然后你想看看External Projects