我有两个独立的项目,每个项目都构建一个与公共静态库链接的共享库。 在每个共享库中#39; CMakeLists.txt我将:
add_dependencies(my_shared2 my_common_lib)
和
{{1}}
静态lib有自己的源并驻留在自己的文件夹中。定义公共静态cmake脚本的最佳方法是什么?
答案 0 :(得分:1)
如果你的"项目"是紧密耦合(例如,生活在同一个存储库/具有相同的父目录),只需在所有三个上面写CMakeLists.txt
,为每个项目调用add_subdirectory
目录。如果您在每个中使用project
,它们应该在VS / XCode中显示为单独的实体。
如果没有,只需像往常一样为静态库编写CMakeLists.txt
,让它自行导出(查看export()
和install(EXPORTS)
)并使用find_package
消费者找到它,然后只是target_link_libraries
导入的目标。
如果这些需要存在于单独的存储库中,但是还需要在某处创建构建所有三个的构建,那么然后你想看看External Projects