Maven is said to使用 Convention over Configuration 的形式.
我不想做任何错误的比较,但据我所知cmake可以为 C++ 项目填写类似于 maven 为 Java 项目填写的名单。
那么, cmake 是否有一些关于配置的约定,或者每个项目的配置都是唯一的? (Wrt. 文件布局、测试布局、构建输出等)
最佳答案
在体验了Maven 3的优雅之后,我也找了一个convention over configuration C maven风格的系统。 ...
我还检查了 CMAKE,在创建骨架后,有几件事很突出。
CMAKE 有时是声明性的,有时是程序性的,您总是会以丑陋的混合告终。又名,它是 C 的 ANT,没有括号。
CMAKE 本身是可移植的,可惜您的项目需要处理平台细节,您最好提前了解它们。 CMAKE 模块的存在据说可以帮助解决这个问题,不幸的是,它们的可重用性似乎更像是 Ansible 角色的 promise ……理论上是可能的,但在实践中,它们最终成为组织所有所需复杂性的体面方式。
换句话说,CMAKE 与 Maven 完全不同。它更像是一个较低级别的 ANT,它允许您使用“跨平台”DSL 来生成特定于平台的 makefile。
关于c++ - cmake 是否使用约定优于配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7826239/