1

CMake のinclude_directoriesコマンドを使用する場合、特定のディレクトリがシステム インクルード ディレクトリであるかどうかを指定する方法があります。

ただし、さまざまな理由から、ターゲットのプロパティをset_target_properties設定することにより、同じスコープ内の異なるターゲットに対して異なるインクルード パスを指定するために使用する必要があります。INCLUDE_DIRECTORIES

ただし、問題は、ディレクトリがシステム ディレクトリであることを CMake に伝える方法がわからないため、可能な場合は-isystem代わりに使用-Iすることです。主な理由は、プロパティが単にディレクトリ パスのリストであり、フラグがないためです。

あるかもしれないと思ったSYSTEM_INCLUDE_DIRECTORIESのですが、それについての言及は見つかりませんでした。

これについてどうすればよいかについて何か考えはありますか?

4

2 に答える 2

5

CMake 2.8.12 では、target_include_directories() コマンドが SYSTEM キーワードを学習しました。

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1925cffa083b

CMake 3.0.0 (次のリリース) は、依存する IMPORTED ターゲットにリストされているすべてのディレクトリをデフォルトで SYSTEM として扱います。

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a63fcbcb9f6c

于 2013-10-18T22:29:40.777 に答える