Note: c’est un brouillon 🙂
Ma grande question du moment, comment architecture un projet Qt pour :
- avoir une bonne structure de dossier,
- pouvoir gérer plusieurs modules, et choisir ceux à utiliser lors de la compilation,
- séparer le code source du code des tests unitaires,
- choisir lors de la compilation de lancer les tests ou non.
Structure
src module1/ src/ test/ module1.pro module2/ src/ test/ module2.pro communication data service util ui/ project.cpp project.h project.ui ui.pro main.cpp src.pro test/ testcase/ MyGreatTest.cpp MyGreatTest.h test.pro IUnitTestCase.h TestRunner.cpp TestRunner.h vendor/ ... vendor.pri .pro
En général, j’ai plusieurs projets liés entre eux qui partagent des fichiers. Si on passe donc un cran en dessous, j’ai quelque chose du style :
project1/ project2/ vendor/ ... vendor.pri release/
Quelques informations sur les les .pro et les .pri
Ah, et il est normal qu’un message s’affiche 3 fois dans les logs (lorsqu’on utilise les commandes « message » ou « system »), puisqu’il y a 3 Makefile à générer, donc le fichier .pro est consulté 3 fois.
Inspiration
- Creating a new module or tool for Qt. Si une structure est bonne, modulable et compréhensible pour un module Qt, à plus forte raison pour un projet classique.
- Thread [File Organization] Creating an organized project with Qt Creator
- Pour tout savoir sur Qmake : Qmake Variable Reference, Undocumented Qmake. Particulièrement le paragraphe sur SUBDIRS
- Structure for large scale c++ projects with plugins, dlls and 3rd Party tools (en). Une autre structure de dossiers.
- How to use QMake’s subdirs template? (en). Autre organisation
- Qmake project dependencies (linked libraries) (en). Une autre organisation.
One Response to Structure d’un projet Qt