我有3个c ++项目:2个库A,B和1个可执行文件C。
B取决于A
C取决于A和B
我正在对所有项目使用 git (带有子模块)和 cmake 。每个项目都应存储在自定义git存储库中。
我希望能够拉出每个项目并独立构建它。
如何为每个项目组织我的CMakeList?我尝试了以下方法:
对相关项目使用git子模块,在父cmake中使用add_subdirectory
。问题在于,然后我为项目B复制了子目录,因为(C包含具有A的子模块,而B具有包含B的子模块,而B包含具有A的子模块。因此,我们有两个子模块A)。
使用cmake的关键字export
。问题在于它需要先在B之前手动构建A,然后在C之前手动构建B。
我只想提取任何项目并在其根目录中调用cmake。