2017-08-20 11 views
0

私はライブラリ(すなわちCGAL)を持っています。これは、それが出荷されていないサードパーティのライブラリ(つまりインテル®TBB)用のFindMODULE.cmakeファイルを提供します。残念ながら、このファイルには修正が必要なバグがあります。 (バグが、互換性のないディレクトリ構造に関係しているように見えるが、それはここでのポイントはありません。)CMake find_packageをカスタムのバグ修正ファイルで使用する

だから、私のプロジェクトのCMakeLists.txtはラインを持っています

find_package(TBB) 

これはFindTBB.cmakeをどの呼び出しますCGALのディレクトリ構造に提供されています。

今、FindTBB.cmakeのバグを修正する必要があります。私はちょうどそのファイルをコピーし、私のプロジェクトのディレクトリに直接固定バージョンを置くしたいと思います。

を呼び出すときに、私のプロジェクトディレクトリ(CGALが提供するものではなく)でFindTBB.cmakeを使用するようにCMakeに指示するにはどうすればよいですか?

+2

あなたは ' – Gluttton

+0

無関係、それでも($ {CMAKE_MODULE_PATH} CMAKE_MODULE_PATH " _SOURCE_DIR /パス/に/固定/モジュール")'セットを試すことができます:あなたはCGALのために問題を開いたことがありますか?彼らは問題を解決することに興味があるかもしれません。 – usr1234567

答えて

0

代替アプローチ:

  1. があなたのモジュールディレクトリにファイルをコピーし、それを修正します。
  2. CGALに関連する作業を行う前に、find_package(TBB)に電話してください。
  3. CGakeの検索/操作に使用されるCMake呼び出しを使用します。あなたが運が良ければ、すべてのチェックの結果がキャッシュされ、動作します。実際に何が行われたかによっては、まだ機能しない可能性があります。
0

この場合、find_package関数が重すぎる可能性があります。再配置された.cmakeファイルをこのように入れてみることもできます。

include(<local path>/FindTBB.cmake) 
関連する問題