Comment organiser mes fichiers en utilisant CMake?
Je vais avoir un peu d'un problème avec CMake, concernant l'organisation de mon code dans une solution.
J'ai pour habitude d'organiser mon espace de noms par la création d'un répertoire pour chaque.
Par exemple si je crée quelque chose comme ceci :
namespace test { namespace blabla { ... } }
Je voudrais créer un répertoire test et à l'intérieur d'un répertoire de blabla, cependant CMake ne pas les faire apparaître dans mon Visual studio ou Xcode projet.
Est-il un truc pour le faire ?
que voulez-vous voir apparaître dans votre projet? les fichiers? les dossiers?
Les dossiers et les fichiers à l'intérieur.
et comment les avez-vous essayer de les ajouter?
Lorsque j'utilise le add_executable() de la commande, je lui donne mes fichiers sources. Est-il une autre façon de le faire ?
Les dossiers et les fichiers à l'intérieur.
et comment les avez-vous essayer de les ajouter?
Lorsque j'utilise le add_executable() de la commande, je lui donne mes fichiers sources. Est-il une autre façon de le faire ?
OriginalL'auteur lollancf37 | 2011-08-17
Vous devez vous connecter pour publier un commentaire.
Essayez d'utiliser le source_group de commande. Après l'appel à
add_executable
ajoutersource_group
déclarations à la structure de votre projet comme vous le souhaitez, par exemple:Imbriqués les groupes source (à l'aide de barres obliques inverses) de travail pour moi avec CMake 2.8.5 et Visual Studio 2008 Pro.
Je n'ai pas fait de test encore sur vs mais Xcode. Je vous tiendrai au courant. Merci encore !
Il fonctionne très bien avec visual studio, mais pas xcode pour une raison quelconque. La plus-je utiliser xcode pour C++, plus je pense que je devrais passer à eclipse, même les link_directories que j'ai mis en place fonctionne bien avec VS mais pas de Xcode.
OriginalL'auteur sakra
Pour le groupement des projets de VS, vous pouvez utiliser cette façon de CMake (ver après 2.8.3)
OriginalL'auteur Andrew
Pour Visual Studio: assurez-vous que tous les noms de fichiers sont uniques. Le résultat de la compilation
dir/file.cpp
seraobj/file.obj
. Lorsque le compilateur compileotherdir/file.cpp
le résultat seraobj/file.obj
- l'objet précédent fichier sera remplacé. C'est le cas dans VS 2008 et les versions antérieures, et je soupçonne que c'est encore le cas dans VS 2010.J'ai trop d'organiser le code source de la façon dont vous le faites. J'ai fini par utiliser le modèle de dénomination suivant: si le chemin d'accès au fichier source serait
Dir/Subdir/AnotherSubDir/File.cpp
, alors j'avais le nom du fichierDir/Subdir/AnotherSubdir/DirSubdirAnotherSubdirFile.cpp
. Laid? Oui. Mais il bat un projet qui ne sera pas le lien, et il est facile de comprendre ce que le nom de fichier doit être. Je pense que l'on peut simplement ajouter un numéro de séquence sur le fichier, mais j'ai pensé qu'il serait plus laide. Aussi, si vous oubliez de rendre le nom de fichier unique, l'erreur n'est pas évident à repérer. Surtout quand vous êtes fatigué, et votre fiancé/femme est en attente...Désolé d'être un peu hors sujet, mais j'ai pensé que je devrais vous donner un heads-up. Cheers!
OriginalL'auteur Jörgen Sigvardsson
La solution retenue ne fonctionne pas pour Xcode comme de Xcode 6. Cependant, il existe une solution simple:
(supprimer dans la barre latérale, puis sélectionnez "Supprimer la Référence").
la cible désirée(s).
Tada! Maintenant, vos fichiers doivent correspondre à la structure de dossier dans le Finder.
OriginalL'auteur omikun