【发布时间】:2019-07-24 20:25:05
【问题描述】:
我有以下任务。有一个java包需要移植到c++17。正在使用转译工具来帮助完成任务并避免手动重写每个文件。目前,对于所有 java 类/接口,正在创建相应的 c++ 类。
我看到的第一个问题是原始的 java 包很大,它有超过 180 个文件夹。这些都在新的 c++ 代码库中复制。我们想使用 Cmake 作为构建工具,但我们看到的第一个问题是,我们不能简单地将项目拆分为多个子目录,并简单地在每个子目录中构建单独的共享库,因为它们相互依赖,并且我真的很害怕以循环依赖告终。
我知道这里有很多要问的问题,但是,关于如何使用 cmake 将这种端口形式 java 组织到 c++ 的最佳实践(如果存在的话)是什么。我们希望保留文件夹结构,因为它是合乎逻辑的。到目前为止,我看到的唯一解决方案是建立一个依赖于一切的巨大目标。
高度赞赏这种结构的任何 cmets 和想法或示例。
【问题讨论】:
-
我建议将具有循环依赖关系的文件夹分组在一起。查看stan4j.com 的自动化工具,它可以帮助您找出依赖关系
标签: c++ cmake c++17 porting cmake-modules