我正在考虑GNU Make在CMake.
免责声明:这更像是一个理论和“最佳实践”的问题。我不知道CMake深入。另外,如果那里更主题化,请随时将问题迁移给程序员。
据我了解,标准工作流程CMake是
cmake .
make
我怀疑可能存在CMake文件和 Makefile 不同步的问题。
因此,在通常的开发过程中,您应该运行make以避免不必要的重建,CMakeCache并且Makefiles通常使过程更加直接。但是,如果您将新的源文件添加到CMakeLists并运行make,它将使用旧的CMakeCache并且Makefiles不会自动重新生成它们。我认为它在大规模使用时可能会导致重大问题,因为如果某些东西没有按应有的方式构建,您将不得不尝试执行make clean,然后,如果它没有帮助,您将需要删除CMakeCache并重新生成所有内容(手动!)。
如果我对上述某些事情不正确,请纠正我。
我只想做
awesome-cmake
并让它更新所有需要更新和构建项目的东西。
所以,问题是:有没有办法用 CMake 进行“原子构建”,以便跟踪所有必需的信息并抽象出make?