これは2段階のプロセスです。
まず、カスタムコマンドとしてWaveを使用するようにCMakeに指示する必要があります。CMakeのを使用しますadd_custom_command
。このコマンドを定義すると、カスタムコマンドに指定した依存関係が一致するたびに呼び出されます。
次に、事前定義されたすべてのマクロと、コンパイラが通常使用する(システム)インクルードパスを把握する必要があります。Waveは特定のコンパイラについて何も知りません。したがって、特定のコンパイラに対してファイルを適切に前処理するには、すべての(関連する)事前定義マクロ(通常はコンパイラによって事前定義されます)およびすべてのシステムインクルードパス(通常はデフォルトでコンパイラに認識されます)を呼び出し中に渡す必要があります波。これらすべてのオプションをWaveのコマンドラインに配置するのが面倒な場合(おそらくそうです)、Waveのオプションファイルを作成できます(コマンドラインに追加します@cfgfile
)。MSVC2005の例を次に示します。
-SC:\Program Files (x86)\Microsoft Visual Studio 8\VC\include
-SC:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\Include
-D_MT
-D_MSC_VER=1400
-D_MSC_FULL_VER=140050727
-D_MSC_EXTENSIONS
-D_M_IX86
確かに、ここでWaveの他のオプションを追加することもできます。コンパイラごとに異なる構成ファイルを使用すると、CMake内からの管理が容易になります。