我正在考虑重新实现我们的构建系统(目前基于 GNU Make
)使用 CMake
。
声明:这更多是一个理论性和“最佳实践”问题。我不深入了解 CMake
。此外,如果它更相关,请随意将问题迁移到程序员。
据我所知,CMake
的标准工作流程为
cmake .
make
我怀疑存在
CMake
文件和 Makefile 的不同步问题。在正常的开发过程中,您应该运行
make
,以避免不必要的重建 CMakeCache
和 Makefiles
,并使整个过程更加简单明了。但是,如果您在 CMakeLists
中添加了一个新的源文件并运行 make
,它将使用旧的 CMakeCache
和 Makefiles
,并且不会自动重新生成它们。我认为,如果在规模上使用,这可能会导致重大问题,因为如果有些东西没有构建成功,您将不得不尝试执行 make clean
,然后,如果它没用,您需要手动删除 CMakeCache
并重新生成所有内容。如果我上面说的有什么不对的地方,请纠正我。
我只想做
awesome-cmake
我会尽力帮助您完成翻译。以下是需要翻译的内容:
能否通过CMake实现"原子构建",使其更新所有需要更新的内容并构建项目?
问题来了:是否有一种方法可以使用CMake进行"原子构建",以便跟踪所有所需信息并抽象出使用make
的方法?