我正在开始一个新项目,需要选择一个构建系统。我讨厌必须手动将每个 C++ 源文件添加到我的构建规则中,因为这种事情应该在 2016 年实现自动化,并且在重构时会增加额外的工作量(重命名标题中的类和源文件,以及构建系统文件...)。
当我遇到这篇文章时,我开始将 CMake 与递归文件通配一起使用:使用 GLOB 全局指定源文件?
这表明 globbing 是邪恶的,因为 CMake 使用两个阶段进行构建(cmake 和 make),而在正常使用中,用户只重新运行第二个阶段(make)。
乍一看,Bazel 还允许文件通配。与 Bazel 一起使用是不是很邪恶?在代码库上运行是find
一个构建系统真的需要避免的扩展问题吗?