Cela signifie que, si quelqu’un voulait alors utiliser le module QtMultimedia, il pouvait soit attendre une nouvelle version de CMake, soit tenter de copier le fichier FIND dans son projet pour utiliser la version d’alors de CMake. CMake est un moteur de compilation multiplate-forme et open source, très utilisé, notamment pour les projets utilisant Qt. Avec ce dernier, on utilisait CMake de la sorte: Les éventuels problèmes résultant d’une mauvaise traduction ne sont pas imputables à KDAB. Vous avez aimé ce tutoriel?
| Nom: | cmake 2.8.7 |
| Format: | Fichier D’archive |
| Système d’exploitation: | Windows, Mac, Android, iOS |
| Licence: | Usage Personnel Seulement |
| Taille: | 20.3 MBytes |
Ces fichiers ont cependant un désavantage dans la mesure où ils font partie intégrante de CMake et non de Qt. Alors partagez-le en cliquant sur les boutons suivants: CMake est un moteur de compilation multiplate-forme et open source, très utilisé, notamment pour les projets utilisant Qt. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l’ensemble de son contenu: Tous les modules essentiels et additionnels créeront leurs propres fichiers CONFIG et les fonctionnalités fournies par ces modules seront disponibles à travers de CMake sans devoir attendre quoi que ce soit. C’est vraiment la bonne façon de procéder pour écrire des systèmes de compilation basés sur CMake.
CMake est un moteur de compilation multiplate-forme et open source, très utilisé, notamment pour les projets utilisant Qt. CMake peut s’avérer être plus pratique que QMake, surtout pour les gros projets. Cet article est une traduction de l’article original écrit par Stephen Kelly paru le 21 mai Cet article est une traduction de l’un des cmzke en anglais écrits par KDAB.

Les éventuels problèmes résultant d’une mauvaise traduction ne sont pas imputables à KDAB. Avec ce dernier, on utilisait CMake de la sorte:. Une rétrocompatibilité est cependant aisément réalisable en cherchant et remplaçant quelques variables CMake. Des compilations sont donc effectuées avec l’option -Bsymbolic-functions activée, ce qui rend la comparaison de pointeurs de fonctions caduque… à moins d’avoir activé l’option -fPIE lors de la compilation de l’exécutable ou -fPIC pour une bibliothèque.
Si Cmxke est configuré manuellement, il est bien évidemment possible d’utiliser l’option -no-reduce-relocations et ainsi éviter des soucis, cette valeur par défaut sera obligatoire pour les tiers, qui devront également générer du code indépendant de la position. Cela peut être réalisé simplement de cette façon:. Néanmoins, l’option -fPIE ne doit être utilisée que pour les exécutables et en aucun cas pour les bibliothèques. Utiliser l’option -fPIC de manière globale, même pour la génération d’exécutables, peut fonctionner mais ne devrait être envisagée que si les autres solutions ne fonctionnent pas:.
On peut constater dans cet exemple le grand nombre de répétitions et aussi beaucoup de choses auxquelles il faut faire attention. Ceci est dû à quelques hacks magiques dans les entêtes des cmaje du module QtTest.
Toutes ces propriétés sont restreintes à la cible où la fonction est utilisée, au lieu d’être communes à tout le système de compilation CMake et ainsi d’affecter toutes les bibliothèques et exécutables. On peut remarquer que les options sont restreintes aux cibles exécutables ou bibliothèque sur lesquelles elles doivent agir.
C’est vraiment la bonne façon de procéder pour écrire des systèmes de compilation basés sur CMake. Nous espérons dans le futur pouvoir profiter mcake telles fonctionnalités pour CMake.
Vous pouvez vous attendre à pouvoir utiliser de telles fonctions avec n’importe quel paquet CMake.
cmake find_package (JNI) ne fonctionne pas sous Ubuntu amd64
Ces fichiers ont cependant un désavantage dans la mesure où ils font partie intégrante de CMake et non de Qt. Ce module ne fut totalement supporté que lors de la sortie de CMake 2. Cela signifie que, si quelqu’un voulait alors utiliser le module QtMultimedia, il pouvait soit attendre une nouvelle version de CMake, soit tenter de copier le fichier FIND dans son projet pour utiliser la version d’alors de CMake. Cette copie ne garantissait aucunement une réussite dans la mesure où le nouveau fichier FIND pouvait utiliser de nouvelles fonctionnalités de CMake.
Outre la possibilité de trouver les dépendances en utilisant un fichier FINDCMake est aussi capable de lire les fichiers fournis par les dépendances elles-mêmes afin de déterminer où se trouvent les bibliothèques et les fichiers d’entête.
Cmaks principal bénéfice de cela est que les nouvelles fonctionnalités de Qt ainsi que ses modules qui peuvent être utilisées avec CMake ne cmaek pas de la version de CMake.
cmake find_package (JNI) ne fonctionne pas sous Ubuntu 12.04 amd64
Tous les modules essentiels et cmxke créeront leurs propres fichiers CONFIG et les fonctionnalités fournies par ces modules seront disponibles à travers de CMake sans devoir attendre quoi que ce soit. Lors de la sortie de nouveaux modules, ils seront maintenant utilisables avec CMake dès qu’ils seront dans les dépôts. Un autre avantage à l’utilisation des fichiers CONFIG au lieu des fichiers FIND réside dans le fait d’avoir accès à tous les aspects de la compilation de Qt lui-même, y compris la façon dont il a été configuré et où il a été installé.
Cela aide a maintenir un niveau de complexité relativement raisonnable dans le cas de compilations statiques ou de compilations croisées.
Au nom de toute l’équipe Qt, j’aimerais adresser le plus grand remerciement à KDAB pour nous avoir autorisés à traduire cet article! Vous avez aimé ce tutoriel?

Alors partagez-le en 2.87 sur les boutons suivants: Aucune reproduction, même partielle, ne peut être faite de ce site ni de l’ensemble de son contenu: Faire mieux avec les nouvelles versions de CMake V. Avec ce dernier, on utilisait CMake de la sorte: Cela peut être réalisé simplement de cette façon: À partir de CMake 2.
