Comment puis-je spécifier l'entrée de la variable qmake installes?

dans mon projet Qt, j'essaie de copier des bibliothèques dans le cadre du processus de construction. Le but est d'avoir une distribution prête à l'emploi après la construction avec toutes les bibliothèques dynamiques nécessaires.

cela semble faisable avec la variable INSTALLS, mais je trouve la documentation un peu mince: qmake Variable référence: INSTALLS

dans l'exemple donné:

  • Est target déjà défini, ou est défini par l'écriture target.path = ?
  • Où est la documentation pour les membres éventuels? .path et...?
20
demandé sur Daniel Brunner 2012-02-21 16:25:33

2 réponses

Oui, Les docs ont beaucoup à désirer ici.

target est déjà définie, mais c'est un cas particulier. Vous pouvez définir vos propres ensembles de déploiement supplémentaires. Voici comment nous spécifions les plugins de format d'image:

imageformats.path = /opt/some/path/bin/imageformats
imageformats.files += $$[QT_INSTALL_DATA]/plugins/imageformats/*.so
INSTALLS += imageformats

Voici la documentation minimale sur les trois commandes: http://doc.qt.io/qt-4.8/qmake-environment-reference.html#installs

yourset.path = /path/in/which/to/install/files
yourset.files = /files/to/install
yourset.extra = custom commands to run, eg. `touch somefile.txt`
INSTALLS += yourset
22
répondu Dave Mateer 2017-01-27 18:29:40

target est la chaîne que vous voulez utiliser. Il est de votre propre identifiant.

target.files définit ce que vous voulez installer.

target.path est l'emplacement (répertoire) dans lequel vous voulez placer le target.files .

Par exemple, disons que j'ai un fichier nommé "config.xml" que je veux copier dans le répertoire "xyzzy". Je voudrais utiliser le suivant dans mon qmake .pro fichier pour spécifier que.

my_file.files = config.xml
my_file.path = xyzzy

INSTALLS += my_file

BTW, pour réellement faire la copie du fichier, vous devrez exécuter make install .

vous pouvez aussi trouver la réponse utile pour comprendre: copier un fichier pour construire le répertoire .

9
répondu jwernerny 2017-05-23 11:33:16