Présentation des configurations de construction

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à Compilation, construction et exécution d'applications - Index

Les configurations de construction sont composées d'options que vous pouvez définir sur toutes les pages relatives à la construction dans la boîte de dialogue Projet > Options . Les configurations de construction sont enregistrées dans le fichier projet (comme .dproj ou .cbproj).

Chaque projet contient trois configurations de construction par défaut

Le Gestionnaire de projets contient un noeud Configurations de construction qui liste les configurations de construction disponibles :

BuildConfigsNodexe7.png

Base, Debug (Débogage) et Release sont les trois configurations de construction par défaut. Dans le Gestionnaire de projets, le noeud Configurations de construction représente la configuration de base, mais les configurations Debug (Débogage) et Release sont listées dans des noeuds distincts.

Pour n'importe quelle configuration, il est possible de modifier les valeurs des options, y compris pour la configuration de base. Vous pouvez supprimer les configurations Debug et Release, mais vous ne pouvez pas supprimer la configuration de base.

Quand vous compilez et enregistrez un projet, les fichiers sont enregistrés dans un répertoire dont le nom correspond au nom de la configuration de construction en cours. Les répertoires Debug et Release existent par défaut, et un répertoire est créé pour toute configuration de construction personnalisée active quand vous enregistrez un projet.

Configuration de base

La configuration de base agit comme un ensemble de valeurs d'options par défaut qui est utilisé dans toutes les configurations que vous créez par la suite. Les valeurs d'options mentionnées concernent la compilation et la liaison et d'autres ensembles d'options qu'il est possible de modifier pour votre projet par l'intermédiaire de la boîte de dialogue Options de projet (Projet > Options).

Vous pouvez modifier les valeurs des options de toute configuration, y compris la configuration de base. Vous pouvez supprimer les configurations de débogage et de release, mais pas la configuration de base.

Configuration de débogage (Debug)

La configuration de débogage étend la configuration de base en désactivant l'optimisation et en activant le débogage, tout en définissant des options de syntaxe spécifiques.

La configuration de construction de débogage par défaut qui se trouve dans le Gestionnaire de projets de votre projet Object Pascal, est créée par Object Pascal lorsqu'un nouveau projet ou une nouvelle application est créé.

Remarque : Il est recommandé d'utiliser la configuration de débogage (Debug) lorsque vous développez, déboguez ou modifiez une application.

Configuration de release

La configuration Release étend la configuration de base, mais ne produit pas d'informations de débogage symbolique et le code n'est pas généré pour les appels TRACE et ASSERT, ce qui signifie une réduction de la taille de votre exécutable.

La configuration de construction Release par défaut qui se trouve dans le Gestionnaire de projets de votre projet Object Pascal, est créée par Object Pascal lorsqu'un nouveau projet ou une nouvelle application est créé.

Remarque : Il est recommandé d'utiliser la configuration Release lorsque vous construisez votre application à des fins de distribution. Le fichier exécutable produit ne contient pas d'informations de débogage, il est plus petit en taille et plus rapide qu'une application construite avec la configuration de débogage.

Définition d'options spécifiques du compilateur

Sur la page Projet > Options > Compilateur Object Pascal > Compilation, vous pouvez définir les options spécifiques suivantes (elles appartiennent aux configurations de construction) :

Options spécifiques

Génération du code

Débogage

Optimisation

Cadres de pile

Informations de débogage

Symboles locaux

Configuration Débogage

Désactivé(e)

Le compilateur n'effectue PAS un certain nombre d'optimisations de code.

Activé(e)

Les cadres de pile sont toujours générés pour les procédures et les fonctions.

Activé(e)

Quand un programme ou une unité est compilé avec cette option activée, le débogueur intégré vous permet d'exécuter les instructions pas à pas et de définir des points d'arrêt.

Activé(e)

Quand un programme ou une unité est compilé avec cette option activée, le débogueur intégré vous permet d'examiner et de modifier les variables locales du module.

Configuration Release

Activé(e)

Le compilateur effectue un certain nombre d'optimisations de code.

Désactivé(e)

Les cadres de pile ne sont PAS générés pour les procédures et les fonctions.

Désactivé(e)

Quand un programme ou une unité est compilé avec cette option activée, le débogueur intégré ne vous permet PAS d'exécuter les instructions pas à pas et de définir des points d'arrêt.

Désactivé(e)

Quand un programme ou une unité est compilé avec cette option activée, le débogueur intégré ne vous permet PAS d'examiner et de modifier les variables locales du module.

Spécification de la configuration active pour vos projets

Chaque projet est associé a une configuration de construction active, ainsi qu'à tout nombre d'autres configurations de construction inactives que vous avez créées. Le nom de la configuration de construction active est affiché entre parenthèses dans le libellé du noeud Configurations de construction du Gestionnaire de projets, et la configuration active est aussi affichée en gras dans la liste des configurations disponibles de ce noeud. Les commandes Compiler , Construire et Nettoyer utilisent la configuration active définie pour le projet.

Pour activer une configuration, effectuez l'une des actions suivantes :

  • Double-cliquez sur la configuration dans le Gestionnaire de projets.
  • Cliquez avec le bouton droit sur la configuration et sélectionnez Activer dans le menu contextuel.

Pour de plus amples informations, voir Activation d'une configuration de construction pour un projet.

Les configurations de construction héritent des valeurs du parent

Chaque configuration, à l'exception de la configuration de base, est basée sur une autre configuration dont elle hérite ses valeurs. Les configurations Debug et Release héritent leurs valeurs de la configuration de base.

Par l'intermédiaire du Gestionnaire de configurations, vous pouvez créer une nouvelle configuration basée sur n'importe quelle configuration donnée ; la nouvelle configuration héritera des valeurs des options de son parent. Lorsqu'une configuration est créée, vous pouvez modifier ses valeurs d'options à votre guise et la définir comme configuration active pour un projet ou plusieurs projets. Vous pouvez aussi supprimer toute configuration, à l'exception de la configuration de base.

A moins que leurs valeurs ne soient changées, les options héritent des valeurs de leur configuration parent. Cet héritage n'est pas statique : si la configuration du parent change, toutes les valeurs héritées de tous ses enfants sont aussi modifiées.

La valeur par défaut d'une option est sa valeur dans la configuration parent. Vous pouvez rétablir une option à sa valeur par défaut en effaçant la valeur dans la boîte de dialogue Options de projet.

Comparaison des configurations et des jeux d'options

Vous pouvez enregistrer les valeurs des options d'une configuration dans un fichier sous la forme d'un jeu d'options nommé (un fichier .optset). Vous pouvez appliquer un jeu d'options à toute configuration de n'importe quel projet. Vous avez aussi la possibilité d'appliquer un jeu d'options par valeur (en appliquant les valeurs du jeu d'options seulement à cet instant) ou par référence (afin que les modifications ultérieures apportées au jeu d'options se reflètent dans la configuration).

Notez qu'une configuration de construction est différente d'un jeu d'options, bien qu'ils soient associés. Les deux sont composés de jeux de valeurs d'options. La distinction principale est que les configurations sont associées aux projets, alors que les jeux d'options sont enregistrés dans des fichiers indépendants des projets. Les valeurs des configurations de construction sont stockées dans le fichier projet. Ainsi, la sauvegarde d'un projet enregistre les modifications apportées à ses configurations de construction, mais les jeux d'options ne sont pas affectés. La modification des configurations d'un projet, et l'ajout et la suppression de configurations n'affectent pas les jeux d'options. De la même façon, la sauvegarde des jeux d'options ne change pas les configurations de construction.

Chaque projet a sa propre liste de configurations, indépendamment des autres projets. Toutefois, vous pouvez appliquer tout jeu d'options à n'importe quel projet. Sur la boîte de dialogue Options de projet, la liste déroulante des configurations de construction inclut toutes les configurations de construction pour ce projet, et n'inclut pas les jeux d'options. Le Gestionnaire de projets, d'autre part, liste à la fois les configurations et les jeux d'options référencés sous le noeud Configurations de construction.

Valeurs des configurations et des jeux d'options

Notez que les configurations et les jeux d'options ne contiennent pas les valeurs de toutes les options de projet possibles. Ils contiennent seulement les options différentes de la configuration parent. La configuration de base ne contient pas les valeurs de toutes les options possibles.

Si une valeur d'option n'est pas dans une configuration, l'EDI la recherche dans sa configuration parent, puis dans la configuration parent du parent, et ainsi de suite. Si elle n'a pas été trouvée dans les configurations de la chaîne d'héritage, la valeur provient de l'outil approprié en cours de configuration.

Par exemple, si une chaîne d'héritage de configuration n'inclut pas de valeur pour une option de compilateur particulière, la valeur par défaut est spécifiée par le compilateur lui-même. Lorsque vous enregistrez une configuration ou un jeu d'options, seules ses valeurs sont sauvegardées, et pas les valeurs de chaque option.

Certaines options ne sont plus disponibles

Certaines options disponibles dans les versions précédentes ne sont plus disponibles, excepté à travers les indicateurs d'options de l'outil de ligne de commande approprié. Pour de plus amples informations, voir Options indisponibles.

Voir aussi