Même si qmake est une option de premier choix dans le développement d'une application Qt, il a quelques inconvénients majeurs:
pratiquement inutilisable pour un projet non-Qt
très limité (pas de phase de configuration, pas de support de la compilation distribuée, support limité de la cross-compilation, pas de phase d'installation sauf à hardcoder les chemins)
peu ou pas extensible
très très mal documenté.
n'évolue plus, Nokia songe depuis quelques années à le faire passer à la trappe
Pour des projets de taille moyenne ou ayant des dépendances non-Qt, il est préférable de passer un système de construction plus avancés comme CMake ou autotools qui offrent tout deux un excellent support du framework.
[^] # Re: Le grand absent: qmake
Posté par GeneralZod . En réponse à la dépêche Petit éventail des outils de construction (« builder ») libres. Évalué à 2.
Même si qmake est une option de premier choix dans le développement d'une application Qt, il a quelques inconvénients majeurs:
pratiquement inutilisable pour un projet non-Qt
très limité (pas de phase de configuration, pas de support de la compilation distribuée, support limité de la cross-compilation, pas de phase d'installation sauf à hardcoder les chemins)
peu ou pas extensible
très très mal documenté.
n'évolue plus, Nokia songe depuis quelques années à le faire passer à la trappe
http://labs.qt.nokia.com/2009/10/12/to-make-or-not-to-make-qmake-and-beyond/
http://labs.qt.nokia.com/2009/10/14/to-make-or-not-to-make-qmake-and-beyond-redux/
Par ailleurs, QtCreator a un excellent support de CMake et Openismus finance le développement d'un greffon autotools (et a de bonnes chances d'intégrer prochainement la branche principale).
http://psconboard.blogspot.com/2011/09/autotools-project-manager-part-3-merge.html
http://gitorious.org/qtcreator-autotools-plugin
Pour des projets de taille moyenne ou ayant des dépendances non-Qt, il est préférable de passer un système de construction plus avancés comme CMake ou autotools qui offrent tout deux un excellent support du framework.