Il s'agit d'un processus en deux étapes. Tout d'abord, vous devrez indiquer à CMake d'utiliser Wave en tant que commande personnalisée: utilisez la commande add_custom_command
de CMake. Une fois que vous avez défini cette commande, elle sera appelée chaque fois que les dépendances que vous avez spécifiées pour la commande personnalisée sont mises en correspondance. Deuxièmement, vous devrez trouver toutes les macros prédéfinies et les chemins d'accès (système) que votre compilateur utilise normalement. Wave ne sait rien sur un compilateur spécifique. Par conséquent, afin de prétraiter correctement un fichier pour un compilateur particulier, toutes les macros prédéfinies (pertinentes) (qui sont normalement prédéfinies par le compilateur) et tous les chemins d'inclusion système (normalement connus du compilateur par défaut) doivent être passés lors de l'invocation Vague. Si mettre toutes ces options sur la ligne de commande de Wave est trop fastidieux (et c'est probablement le cas), vous pouvez créer un options file pour Wave (ajoutez-le à la ligne de commande avec @cfgfile
). Voici un exemple pour 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
Certainement, vous pouvez également ajouter d'autres options pour Wave ici. Avoir différents fichiers de configuration pour différents compilateurs devrait faciliter la gestion depuis CMake.