我有一个包含多个阶段的 Gitlab 项目。通过使用 gitlab CI yaml 配置中的 artifacts:
关键字存档,将基于 cmake 的第一阶段的输出工件传递到下一阶段。
下一阶段成功提取这些工件,包括所有 *.o 和 *.so 文件以运行 ctest
(即,这是一个“测试”阶段)。
但是 ctest / cmake 决定它需要从头开始构建所有内容。 cmake(或make后端)中是否有某种机制来显示触发了哪些规则以及为什么需要重建?例如。与来源相比,这些工件是否过时或发生了什么?
答案 0 :(得分:1)
在当前可用的 GNU make 版本中,最好的办法是使用 make --debug=b
(基本调试),如果这还不够,则使用 make --debug=v
(更详细的调试)。