2017-03-13 14 views
1

私は次のような状況に陥っています。私はCMakeファイルを持っています。 と私は私のcmakeすべてがうまくている実行すると、私はまた私のプロジェクトcuda生成ファイルによるCmakeの再実行

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

でCUDAを持っています。 最初にmake target aコマンドもスムーズに実行されますが、makeコマンドは、cudaがMakefileより古いファイルを生成し、再生されたcmakeがプロジェクトの再構築につながることを検出します。 どのように私はcmakeの再生を無効にすることができますか? 何か不足していますか?

編集: 私の質問を編集する必要があります。

私はCaffeフレームワークを使用しています。ソースとバイナリからビルドしています。 Makefileのより古い: カフェ/ SRC /カフェ - 私はGPUを有効にしていますクーダは、私が実行したときので、別のは、私が

再実行cmakeのファイルのようなものを参照してくださいターゲットを作る、それが原因コンパイルmake target aにファイルをだ生成します/CMakeFiles/cuda_compile.dir/layers/cuda_compile_generated_cudnn_relu_layer.cu.o.depend

GPUがオフになっているすべてが大丈夫です - 任意のコマンドが再生

+2

'FindCUDA.cmake'は、あなたが投稿スニペットから怪しい存在しない' cuda_add_executable() '、' cuda_compile() 'などのような特別なコマンド、数を提供します。 'FindCUDA.cmake'のマニュアルを確認し、CUDAの複雑さのCMakeのを認識させるために推奨される手順に従っていることを確認してください。それ以外は、[MCVE](http://stackoverflow.com/help/mcve)... – DevSolar

答えて

0

回答にないリードを間に合わせるには、以下のリンクで発見しました:

概要:すべて正常です。正常な動作はFindCUDA.cmakeです。

最初に実行した後.dependファイルはCMakeプロジェクトに含まれ、2回目の実行は.dependファイルの再生成なしで再コンパイルされます。 秒後にすべてが大丈夫になり作り、一つのモジュールの変更は、プロジェクト全体での再コンパイルにつながることはありません。

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

関連する問題