Sublime Text 2 et SCons

Bon, autant poster ça quelque part au cas où ça aide quelqu'un, et histoire de ne pas l'oublier.

To the point. Un de mes amis (demoscener connu sous le pseudonyme d'xtrium, déjà mentionné sur ce site) travaille sur un moteur 3D, et puisque je vais donner un coup de main il faut bien compiler le projet. Il se sert de SConscript, je voulais tester Sublime Text sans utiliser la "superbe" console Windows. Donc, build personnalisé dans Sublime Text.

Pour ceux qui diront "Installe Linux" ?", je suis plus à l'aise sous Windows et j'aime mes logiciels habituels. Donc, pas de manchot ;)

Bref, voici le fichier sublime-build que j'ai ajouté dans le répertoire Packages/Users pour avoir un système de build SCons. Il se peut que l'encodage ne marche pas sur votre système, je me suis contenté de le faire fonctionner chez moi et n'ai pas cherché plus loin.

{
    "cmd": ["scons.bat"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${project_path:${folder}}",
    "encoding": "cp1252"
}

La première ligne appelle l'exécutable SCons, et part de l'hypothèse que le dossier le contenant est dans le path.

La deuxième permet d'aller à la ligne coupable en double-cliquant sur un message d'erreur. Celle-ci ne fonctionne que pour GCC, j'en ai posté une pour Visual C++ ci-dessous.

La troisième paramètre le répertoire courant durant l'exécution de SCons, et part de l'hypothèse que les SConscripts sont dans le même dossier que le projet Sublime Text.

Quand à la quatrième ligne, elle supprime l'erreur [Decode error - output is not utf-8], du moins sur ma machine (Win7 64 bit, français). Je ne promets rien pour la vôtre.

En espérant que ça serve à quelqu'un !

Edit : Les headers DX11 refusant de compiler avec GCC, j'ai modifié mon environnement Scons pour utiliser Visual C++. Bien sûr, cela change le format du message d'erreur. Voilci donc la nouvelle expression régulière (pas de garantie sur la rigidité) que j'ai utilisée :

"file_regex": "^([^(]+)\\(([0-9]+)\\)() : (.*)$"