0

インクルード ディレクトリを別の名前でコンパイラに表示するように CMake に指示する方法を探しています。

外国のライブラリからのコードを必要とするプロジェクトがあるとしましょう。このコードは、私のプロジェクトのルート ディレクトリにあるディレクトリ foreignLib-1.5.0_build123456 にあります。時々、このライブラリを更新し、その過程でライブラリのディレクトリ名を変更したいと思うでしょう。

このディレクトリを C++ ソース ファイルでforeignLib として参照したいと考えています。書けるようになりたい

#include "foreignLib/include/lib.h"

そしてCMakeはコンパイラにこれを翻訳するように指示する必要があります

#include "foreignLib-1.5.0_build123456/include/lib.h"

今私は疑問に思っています:

  • このような機能は CMake に存在しますか?
  • はいの場合、どのように使用しますか?
  • はいの場合、どのコンパイラがサポートされていますか?
4

4 に答える 4

1

Cmake の configure_file を見ることができます: Rename your source file into yourfile.cpp.inand do

#include ${DIR_TO_LIB}/include/xy.h

CMakeLists で、DIR_TO_LIB(コマンド ラインなどを解析して) 何らかの方法で変数を設定し、発行します。

configure_file(yourfile.cpp.in, yourfile.cpp)

これyourfile.cppにより、正しいパスが設定されます。

これはおそらく意図したとおりではありませんが、うまくいくと思います。

于 2013-06-12T08:34:40.883 に答える