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