CMake: l'ajout de ressources pour construire répertoire
Je fais un petit programme qui nécessite une image de fichier foo.bmp pour exécuter
donc, je peux compiler le programme, mais pour l'exécuter, j'ai copier foo.bmp 'construire' sous-répertoire manuellement
quelle commande dois-je utiliser CMakeLists.txt pour ajouter automatiquement des foo.bmp pour construire le sous-répertoire que le programme compile?
OriginalL'auteur Archit | 2013-06-10
Vous devez vous connecter pour publier un commentaire.
Pour le faire vous devez utiliser add_custom_command pour générer des règles de génération de fichier que vous avez besoin dans le répertoire build. Puis ajouter les dépendances de vos cibles pour ces fichiers: CMake seulement de construire quelque chose si c'est nécessaire par une cible.
Vous devez également vous assurer de ne copie que les fichiers si vous n'êtes pas la construction du répertoire source.
Quelque chose comme ceci:
Dans ce cas, je suis à l'aide d'un "TOUT" cible personnalisée avec une dépendance sur le yourimg.fichier png à force de le copier, mais vous pouvez également ajouter la dépendance de l'un de vos objectifs.
Oui, je suppose que vous avez un problème avec dépendances... comme je l'ai dit uniquement les fichiers nécessaires par les cibles sont construits. Donc, si il n'y a pas de cible dependending sur vos images, ils ne seront pas construits. C'est pourquoi je suis en ajoutant le "add_custom_target" dans mon exemple. Btw une meilleure règle pourrait être
add_custom_target(data-target ALL DEPENDS ${data_SHADOW})
de sorte qu'il dépend toujours de toutes les images.OriginalL'auteur Guillaume
Dans ce cas, peut aider, j'ai essayé une autre solution en utilisant le fichier de commande. Il y a l'option de COPIE qu'il suffit de copier un fichier ou répertoire de la source à la destination.
Comme ceci:
FILE(COPY yourImg.png DESTINATION "${CMAKE_BINARY_DIR}")
Chemin d'accès relatif travaille également pour la destination (Vous pouvez simplement utiliser . par exemple)
Doc de référence: https://cmake.org/cmake/help/v3.0/command/file.html
OriginalL'auteur GeekyMoose