【发布时间】:2018-04-15 16:21:57
【问题描述】:
我正在启动一个 Clang 工具项目,因此我使用 Cmake 和 ninja 从源代码构建了 LLVM/Clang。有两个文件夹——src/ 和build/。然后我将我的项目文件夹创建为 src/tools/clang/tools/extra/my-tool 并将add_subdirectory(my-tool) 添加到 tools/clang/tools/extra/CMakeLists.txt强>。但是,每次修改我的项目文件夹下的文件,在build/下运行ninja,系统有时只构建修改后的文件,有时会重新构建所有文件(超过3000个任务),即非常慢。我想知道是什么导致了重建?
顺便说一句,当我修改另一个使用 Google 的 Bazel 构建系统的项目时,也会发生这种情况。我怀疑文件时间戳是随机更改的?
【问题讨论】:
-
您使用的是哪个操作系统和哪个版本的忍者? 1.5.3以下ninja中的Windows文件格式可能存在问题
-
我用的是Ubuntu 16.04,安装了ninja-build,版本是1.7.1。
标签: c++ build cmake llvm ninja