Maison des Arts et des Sciences Informatiques

Templates pour qmake

Template du Projet tenant compte du module Qt5Widgets

La correction proposée avec le script « widgets-sed.sh » afin de prendre en compte le module « Qt5Widgets » peut être remplacée par l'utilisation de la variable QT dans le template du projet

Quelques précisions :

  • L'opérateur « += » signifie que le module doit être ajouté aux modules déjà existants.
  • L'opérateur « -= » signifie que le module doit être retiré des modules déjà existants.
  • L'opérateur « = » indique le module ou la liste des modules exactement à prendre en compte.

Principales variables reconnues par « qmake »

  • CONFIG : Options générales du projet
  • DESTDIR : Dossier Destination de l'exécutable
  • FORMS : Liste des fichiers « .ui » qui seront pris en compte par le préprocesseur « uic
  • HEADERS : Liste des fichiers « include » (.h) du projet
  • QT : Options spécifiques à Qt
  • RESOURCES : Liste de fichiers « resources » (.rc) à inclure dans l'exécutable du projet
  • SOURCES : Liste des fichiers « source » (.cpp) du projet
  • TEMPLATE : Le type de « template » à utiliser pour le projet : application, library ou plugin

Fonctions internes prises en compte par « qmake »

build-in function « include »

Insertion de fichier projet (.pro)

build-in function « win32 »

Ajout de module spécifique WIN32

La déclaration est prise en compte si la variable d'environnment WIN32 (toujours le cas sous Windows) ou si la commande « qmake » est lancée avec l'option « -win32 »

build-in function « for »

Utilisation de boucle de déclaration

Principaux TEMPLATES de génération de Makefile

  • app : pour la création d'une application (? console ou ? graphique)
  • lib : pour la création d'une bibliothèque (? dynamique ou ? statique)
  • subdirs : pour une prise en compte des fichiers projets des dossiers spécifiés par la variable SUBDIRS
  • vcapp : pour la création d'un projet de type « Visual Studio » pour une application
  • vclib : pour la création d'un projet de type « Visual Studio » pour une bibliothèque

Options de la variable CONFIG

  • release : Génération en mode release dans le dossier release
  • debug : Génération en mode debug dans le dossier debug
  • debug_and_release : Génération des deux modes
  • debug_and_release_target : Génération des deux modes, la cible est générée dans les deux modes
  • build_all : si debug_and_release est précisé, génération des deux modes
  • autogen_precompile_source : Automatically generates a .cpp file that includes the precompiled header file specified in the .pro file.
  • ordered Les dossiers de la variable « SUBDIRS » sont pris par ordre alphabétique
  • warn_on : Le compilateur indique le maximum de warnings possibles
  • warn_off : Le compilateur indique le minimum de warnings possibles
  • copy_dir_files : Enables the install rule to also copy directories, not just files
>

Autres Options

  • qt : Création d'une application Qt utilisant les principaux « modules de Qt », les autres modules de Qt sont précisés par la variable QT
  • thread : Création d'une application « multi-threaded »
  • x11 : Création d'un application ou « library X11 »

Options de la variable QT

  • core (included by default) : QtCore module
  • gui (included by default) : QtGui module
  • network : QtNetwork module
  • opengl : QtOpenGL module
  • sql : QtSql module
  • svg : QtSvg module
  • xml: QtXml module
  • xmlpatterns : QtXmlPatterns module
  • qt3support : Qt3Support module

 

  • widgets ? : QtWidgets module

Prise en compte d'autres bibliothèques

Ces options mettent à jour respectivement les variables LIBS et INCPATH du fichier « Makefile »