Including .pro Files/fr

From Qt Wiki
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Anglais Malay Espagnol Allemand Français

Inclure des fichiers .pro dans d'autres

Les fichiers de projet QMake ont parfois besoin d'être capable d'en inclure d'autres. Qmake est un très bon outil, mais il faut connaître quelques astuces pour en tirer le meilleur parti.

Tout d'abord, par convention, les fichiers .pro que l'on prévoit d'inclure dans d'autres doivent être nommés .pri, simplement pour rappeler qu'ils sont destinés à être inclus. Cela aide également à ce que qmake ne les utilise pas directement, mais utilise les fichiers .pro appropriés en lieu et place.

Dans un fichier .pro, on trouve essentiellement deux variables: INCLUDEPATH (chemin d'inclusion) et DEPENDPATH (arborescence de dépendance). Le premier est utilisé par le compilateur C++ quand il essaie de résoudre les inclusions (#include), tandis que le second est utilisé par qmake pour déterminer dans quel ordre il doit construire.

Pour avoir une arborescence de fichiers que l'on peut réellement déplacer, les fichiers .pri doivent mettre à jour ces variables de façon adaptée. Mon astuce pour le faire consiste à se baser sur le répertoire courant. On peut le trouver en lançant la commande $$system(pwd) (uniquement sur les linux / nix, désolé ;-) )

Dans la documentation sur les variables de qmake (lien en anglais) , on trouve des variables qui peuvent vous aider à identifier le répertoire courant (testé sur windows). Parmi elles, on peut citer: PWD (lien en anglais) ' Cette variable contient le chemin complet vers l'endroît où le fichier de qmake (project.pro) se situe.

' Cette variable contient le chemin complet vers l'endroît où qmake va générer le fichier Makefile.

Une fois que les chemins d'inclusion et de dépendance sont correctement configurés, il suffit d'ajouter les bons fichiers dans les variables SOURCES, HEADERS, RESOURCES et FORMS.

Pour résumer, rien ne vaut un exemple:

INCLUDEPATH ''= $$system(pwd)/include
DEPENDSPATH''= $$system(pwd)

SOURCES ''= src/foo.cpp
HEADERS''= include/foo.h
FORMS ''= forms/foo.ui
RESOURCES''= foo.qrc

Et simplement, dans le fichier .pro, on ajouter le fichier.pri en appelant include


include(support/foo/foo.pri)

Dangers