1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| //--------------------------------------------------------------------
// -> la fonction "SetBuildOptions (base)" est obligatoire pour les
// scripts de génération, même vide, sinon script invalide !!
// (voir Build_scripts ci dessus)
//--------------------------------------------------------------------
// cette fonction ne produit que de l'affichage.
// SetBuildOptions()
// base : instance de 'CompilerTargetBase'
// (équivalent C++ :CompilerTargetBase *)
//--------------------------------------------------------------------
function SetBuildOptions (base) {
// le nom de l'appelant
local nomcible = base.GetTitle();
local message = _T(" Passage dans SetBuildOptions depuis '")
+ nomcible + _T("'") ;
// message dans la console de script
print(message);
// message par visuel
ShowWarning(message);
// en rouge ( pour la lisibilité ) dans la console 'Code::Blocks'
LogError( message );
}
//---------------------------------------------------------------------
// RESULTATS du 29/10/2011 :
//
// A-lors de la (re)génération du projet, cette fonction est appelée
// AVANT la génération du projet ...
// - 1 fois avec 'base = projet'
// APRES la génération ...
// - 1 fois par cible avec 'base = cible'
// (en suivantl'ordre des cibles, sauf les cibles de 'commande')
// ( voir les sources du sdk :
// - "void CompilerCommandGenerator::Init(cbProject* project)" et
// - "void Compiler::Init(cbProject* project)"
// )
//
// B- lors de la fermeture du projet ou
// C- lors de l'ouverture du projet ou
// D- lors du chargement de C::B
// -> elle est appelée 1 fois !!
// E- si sauvegarde automatique du projet toutes les 5 mn
// -> elle est appelée 1 fois (inopinément !!) toutes les 5 mn.
//---------------------------------------------------------------------
//---------------------------------------------------------------------
// on peut ajouter des marqueurs dans le projet pour bien séparer les
// étapes de toute la génération (langage de script, attention aux [[..]])
// 1- en pré-génération :
[[ Log(_T("Debut ")+GetProjectManager().GetActiveProject().GetTitle() );]]
[[ ShowMessage(_T( " --> Avant la generation ..."));]]
// 2- en post-génération :
[[ local mes = _T(" --> Apres la generation");ShowMessage (mes); ]]
[[ Log( _T("Fin ") + GetProjectManager().GetActiveProject().GetTitle() );]]
//--------------------------------------------------------------------- |
Partager