cmake 是否使用约定优于配置?

Mar*_* Ba 5 c++ cmake convention-over-configur maven

据说 Maven采用了一种约定优于配置的形式。

我不想进行任何错误的比较,但据我所知,cmake可以为 C++ 项目填充类似的卷,就像 maven 可以用于 Java 项目一样。

所以,确实CMake的有超过配置的一些约定,或者是唯一配置的每个项目?(Wrt. 文件布局、测试布局、构建输出等)

J. *_*ker 2

在体验了 Maven 3 的优雅之后,我也寻找一种约定优于配置的 C maven 风格的系统。...

我还检查了 CMAKE,在创建骨架后,有一些事情很突出。

  1. CMAKE 有时是声明性的,有时是程序性的,而你总是会得到一个丑陋的混合结果。又名,它是不带括号的 C 的 ANT。

  2. CMAKE 本身是可移植的,可惜您的项目需要处理平台细节,您最好提前了解它们。CMAKE 模块的存在据说可以帮助解决这个问题,不幸的是,它们的可重用性看起来更像是 Ansible 角色的承诺......理论上是可能的,但实际上它们最终成为您组织所需的所有复杂性的体面方式。

换句话说,CMAKE 的形状或形式与 Maven 完全不同。它更像是一个较低级别的 ANT,允许您使用“跨平台”DSL 生成特定于平台的 makefile。