2011-02-08 8 views
0

cmakeをパッケージに実行しましたが、特定のパッケージが正しく組み込まれていないためにmakeが失敗します。特定のfind*.cmakeファイルを編集して正しい場所を指すことはできますか?正しい場所を指すようにcmakeファイルを手作業で編集する

は現在、対応するcmakeのファイルがfind_tbb.makeです:

include(CheckIncludeFileCXX) 

check_include_file_cxx(tbb/tbb.h HAVE_TBB) 

私は、これはそれがファイルのためtbb/tbb.hに探していることを意味するとします。私のファイルは存在しないので、ファイルのこの行を編集して、より良い場所を指すことができますか?

答えて

1

代わりに、生成されたCMakeCache.txtを編集することをお勧めします。

CMakeは何らかの理由でFind *モジュールが失敗し、正しい値を入力するためにタスクをユーザーに任せ、通常はキャッシュに空白のままにするか、ttb_NOT_FOUNDのような値で設計されています。

ccmakeまたはcmake-guiツールは特にそのために、CMakeキャッシュ内のエントリを編集するフレンドリなインターフェイスを提供します。

0

システム上の標準CMakeモジュールファイルを編集することはお勧めできません。これらのファイルを編集すると、他のCMakeプロジェクトが壊れる可能性があります。また、CMakeのリストファイルの移植性が低下します。

より良いオプションは、それらのCMakeモジュールファイルを「フォーク」してプロジェクトの一部にすることです。一番外側のプロジェクトフォルダに、CMakeというフォルダを作成し、それに適応する必要があるファイルfind*.cmakeをコピーします。あなたの変更を行い、その後、CMakeのモジュール検索パスを修正CMakeLists.txtあなたのルートに最初のプロジェクトのCMakeフォルダ内に見て:

project (MyProject) 

set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH}) 
... 

モジュールファイルをプロジェクトのCMakeフォルダ内の標準モジュールファイルを上書きします。

関連する問題