Dies ist ein zweistufiger Prozess.
Zuerst müssen Sie CMake anweisen, Wave als benutzerdefinierten Befehl zu verwenden: Verwenden Sie CMake add_custom_command
. Sobald Sie diesen Befehl definiert haben, wird er aufgerufen, sobald die Abhängigkeiten, die Sie für den benutzerdefinierten Befehl angegeben haben, übereinstimmen.
Zweitens müssen Sie alle vordefinierten Makros und die (System-) Include-Pfade herausfinden, die Ihr Compiler normalerweise verwendet. Wave weiß nichts über einen bestimmten Compiler. Um eine Datei für einen bestimmten Compiler richtig vorzuverarbeiten, müssen daher alle (relevanten) vordefinierten Makros (die normalerweise vom Compiler vordefiniert sind) und alle System-Include-Pfade (die dem Compiler standardmäßig bekannt sind) beim Aufruf übergeben werden Welle. Wenn Sie all diese Optionen in die Befehlszeile von Wave einfügen, ist das zu mühsam (und wahrscheinlich ist es das), Sie können ein options file für Wave erstellen (fügen Sie es zur Befehlszeile mit @cfgfile
hinzu). Hier ein Beispiel für MSVC 2005:
-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
Natürlich können Sie hier auch andere Optionen für Wave hinzufügen. Verschiedene Konfigurationsdateien für verschiedene Compiler sollten die Verwaltung in CMake vereinfachen.