IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Code::Blocks Discussion :

Scripts de génération sous CODE::BLOCKS


Sujet :

Code::Blocks

  1. #1
    Membre à l'essai
    Profil pro
    Informatique Industrielle
    Inscrit en
    Décembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Informatique Industrielle
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2009
    Messages : 9
    Points : 13
    Points
    13
    Par défaut Scripts de génération sous CODE::BLOCKS
    Bonjour,
    Je cherche une explication à l'utilisation des scripts de génération sous CODE::BLOCKS.


    Environnement de travail :
    - OS : VISTA basique Pack 2
    MinGW32 avec TDM-GCC 4.4/4.5 Series
    - Outils: Code::Blocks 10.05 rev 6283, avec wxWidgets 2.8.10 unicode
    SQuirrel, langage de script intégré et adapté à C::B

    Problème :
    Je construis une application console C++ avec l'assistant sans aucune
    modification (génération et exécution correctes).
    J'ajoute au projet (pas aux cibles) un script destiné à éclairer le
    comportement de C::B lors de la génération du projet.
    (génération ... et exécution correctes).
    C'est le seul projet dans arborescence des projets
    Source : pièce jointe "TestScript.Zip

    aide sur les scripts du site code::blocks
    - Base page (Page de base) :
    http://wiki.codeblocks.org//index.ph...g_Code::Blocks
    - Build scripts (Les scripts de génération) :
    http://wiki.codeblocks.org/index.php...=Build_scripts
    - Scripting commands (Les commandes de script) :
    http://wiki.codeblocks.org/index.php...pting_commands

    Le script en question "Test.script" ne comporte qu'une fonction
    appelée automatiquement lors de la génération du projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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() );]]
    //---------------------------------------------------------------------
    Quelqu'un peut-il m'indiquer une méthode pour éviter ce comportement, pour le moins curieux, de C::B ??



    LETARTARE
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [Débutant] Compiler glu.h sous Code::Blocks
    Par allanp8 dans le forum OpenGL
    Réponses: 10
    Dernier message: 18/11/2007, 00h56
  2. enregister un projet sous code Blocks
    Par rimbaut dans le forum Code::Blocks
    Réponses: 1
    Dernier message: 09/04/2006, 21h20
  3. Réponses: 5
    Dernier message: 09/04/2006, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo