【发布时间】:2019-10-23 16:09:47
【问题描述】:
我碰巧认为(但可能是一个神话)Cmake 比 Autotools 更容易支持微软。
同时,在涉及到重要 UNIX 衍生产品(例如 macOS 和最流行的 Linux 发行版)时,我有点确信 Autotools 比 Cmake 更简单。
如果我不能选择怎么办?
项目能否同时支持 Autotools 和 Cmake ?
奖励:一个项目能否同时支持 Autotools 和 Cmake 甚至简单地同时同时支持 Make ?
“同时”是指理想情况下,从尝试其中一种构建系统更改为另一种构建系统时,不一定要运行干净的脚本。但如果有必要,我想这将是一个合理的配置。
最后,你知道一个同时使用 Autotools 和 Cmake 的示例项目吗?一个同时使用 Autotools、Cmake 和简单 Make 的工具?
【问题讨论】:
-
"一个项目可以同时支持 Autotools 和 Cmake 甚至是简单的 Make 吗?" - 当然,为什么不呢?您只需要为每个工具编写相应的脚本即可。
-
GNU uCommon C++ framework 是一个同时支持 autotools 和 cmake 的代码库示例。
-
我也同意 cmake 对 windows 更友好,如果你的目标是在 windows 上使用 MSVC 的 Visual Studio。如果您在 Windows 上使用 gcc 以 msys、mingw 或 cygwin 为目标... ehhhh。在这一点上,它只是归结为偏好。不过要注意如何引入依赖项,因为 Windows 上的 cmake 不附带 pkgconfig,这意味着“find_package”可能不起作用。
标签: makefile cmake autotools release-management os-agnostic