2008-11-09 10 views
3

Comment procéder pour avoir un système de construction CMake, qui analyse les fichiers source en utilisant AUX_SOURCE_DIRECTORY, recherche les fichiers d'en-tête dans le même répertoire, de préférence en utilisant une commande similaire?Comment ajouter automatiquement des fichiers d'en-tête au projet?

Je ne trouve pas un moyen facile de le faire dans la documentation, donc je maintenant un script bash merdique pour post-traiter mon (CodeBlocks) Fichier projet ...

Répondre

8

Vous pouvez utiliser la commande de fichier (GLOB ...). Par exemple:

set(dir my_search_dir) 
file (GLOB headers "${dir}/*.h") 
message("My headers: " ${headers}) 

Cette commande peut également être recurrente et répertorier vos fichiers par rapport à un chemin donné. Voir le "file" command entry dans le document cmake.

0

La documentation à AUX_SOURCE_DIRECTORY suggère que ce n'était pas destiné à être utilisé de cette façon, alors je doute que ce que vous demandez est possible. Si vous voulez une réponse faisant autorité, vous pouvez contacter les développeurs de CMake à [email protected] (ils sont vraiment très gentils).

Je vous déconseille vivement d'utiliser des caractères génériques pour spécifier ce qui est inclus dans la construction. Les fichiers de construction doivent spécifier le contenu exact des bibliothèques, et ne pas dépendre de ce qui se passe dans le répertoire. Cela peut être lourd au début (si vous avez l'habitude des jokers, ou des IDE qui fonctionnent de la même manière), mais quand vous vous y habituerez, vous ne voudrez pas l'avoir autrement.

Questions connexes