CMAKE重新运行由于CUDA生成的文件

Cmake rerun due to cuda generated files

本文关键字:文件 CUDA 重新运行 CMAKE      更新时间:2023-10-16

我有以下情况:我有一个cmake文件,该文件应该编译一些二进制目标。我的项目中也有cuda

find_package(CUDA REQUIRED)
include_directories(${CUDA_INCLUDE_DIRS})
add_libraries_to_linker

当我运行cmake时,一切都很好。第一个make target a命令还运行平稳,但第二个make命令检测 CUDA生成的文件比Makefile ,并导致项目重建。我如何禁用cmake再生?我想念什么吗?

编辑:我认为应该编辑我的问题。

我有一个Caffe框架,它是由使用它的来源和二进制文件构建的。当我启用GPU -CUDA生成其文件时,由于汇编make target a,因此当我运行另一个make目标时,我会看到

之类的东西

重新运行的cmake文件:使file年龄大于: caffe/src/caffe/cmakefiles/cuda_compile.dir/layers/layers/cuda_compile_generated_cudnn_relu_layer.cu.o.o.o.depper

当GPU关闭时,一切都还好 - 任何制作命令都不会导致再生

答案已在下面的链接中找到:

简介:一切都是正常的。这是FindCUDA.cmake的正常行为。

首先制作运行后的.depend文件将包含在CMAKE项目中,而第二个" MAKE RUN"将在不重新生成.depend文件的情况下重新编译。第二次完成后一切都可以,并且一个模块的更改不会导致整个项目的重新编译。

https://cmake.org/pipermail/cmake/2011-january/042173.html