やgflags
などのプロジェクトでcmake
を実行すると、システムレベルで情報が書き込まれます。具体的には、Linuxシステムでは、$HOME/.cmake/Caffe
と$HOME/.cmake/gflags
のようないくつかのディレクトリを生成します。これは私がコンパイルするすべてのプロジェクトで使用されることになります。結果として、$HOME/.cmake
で参照されているプログラムは、私が望んでいなくても(部分的に)見つかりました(私が関心している限り、外部プログラムで制御する外部変数を定義していますcmake
は特定のコンパイルで考慮することができます)。 現在の解決策は、必要に応じて(つまり新しいプログラムをコンパイルする前に)ディレクトリ$HOME/.cmake
を削除することです。私はにrm -rf $HOME/.cmake
を追加することを検討しますが、これは完全に満足できるものではありません(洗練されたものでもありません)。誰よりも良い解決策を提案できますか?
NB:質問の「システムキャッシュ」という表現が間違っている可能性があります。私はより良い言葉を得ることに感謝します。あなたは「システムを知っていたら
:
(...私は正しい表現を知っていたならば、実際に、私はすでにウェブ上で解決策を見つけたかもしれない)、この上の任意の意見をいただきありがとうござい編集キャッシュ "は実際には User Package Registryです。答えは簡単です。以下を参照してください...
:その文書のポイント6を参照してください?それはまったく壊れているか、誤用されているようです。私はこのようなディレクトリへのCMakeの書き込みに遭遇したことはありません。 –
バージョン3.5.1(質問編集済み)です。私のシステムはKubuntu 16.04ですが、私はubuntu 14.04とcmake 2.8.12.2で同様の動作をしました。 – xiawi
私の同僚は、Caffeプログラムの 'export(PACKAGE caffe) 'コマンドの結果であると私に言った。これは「ユーザーパッケージレジストリ」です。 https://cmake.org/Wiki/CMake/Tutorials/Package_Registry – xiawi