CMake avec d'inclure et de la source des chemins d'installation de base
Je suis en train de mettre en place un test de projet à la recherche comme mon propre projet, c'est juste pour mettre les choses en travaillant d'abord et il ressemble à ceci:
/MainProject/inc/main.h
/MainProject/src/main.cpp
/LibProject/inc/test.h
/LibProject/src/test.cpp
J'ai trouvé des tutoriels, mais je ne peux pas trouver comment mettre en place cette quand j'ai l'inc et le dossier src? Comment le CMakeLists.txt les fichiers de look? Aurais-je un dans /, un dans chacun des dossiers de projet? Il semble que je n'ai pas besoin d'en avoir un dans l'inc et src dossiers?
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'un
CMakeLists.txt
pour chaque sous-répertoire. Votre structure doit ressembler à quelque chose comme ceci:Contenu de
root/CMakeLists.txt
:Contenu de
LibProject/CMakeLists.txt
etMainProject/CMakeLists.txt
:Contenu de
LibProject/src/CMakeLists.txt
:Contenu de
MainProject/src/CMakeLists.txt
:Puis configurer et construire avec:
CMakeLists.txt
's et le manquelink_directories()
de commande. Je orignially l'intention de commenter votre réponse, mais ma réputation est trop faible pour le faire. J'ai donc pensé poster une 2ème réponse serait la plus auto-contenant façon. Je ne voulais pas vous offenser.link_directories
commande enMainProject/src/CMakeLists.txt
est vraiment nécessaire, afin que je puisse modifier la réponse en conséquence.subdirs
est obsolète.Vous pourriez le faire comme suit.
CMakeLists.txt dans votre MainProject répertoire:
CMakeLists.txt dans votre LibProject répertoire/src:
CMakeLists.txt dans votre MainProject répertoire/src:
${PROJECT_SRC_DIR}
? J'ai eu un CMake erreur et a dû corriger la variable comme suit:${PROJECT_SOURCE_DIR}
pour le faire fonctionnerDans mon cas, je voulais le faire avec un unique CMakeList. Et il a travaillé pour moi. J'ajoute ma solution au cas où il sert à personne.
C'est ce que j'ai fait dans mon cas:
Mon CMakeLists.txt avez pour principales parties:
^ Permet .fichiers cpp ajouter des en-têtes dans le dossier inclure.
^ Il suffit d'ajouter tout ce qui est dans ces dossiers.
PS: si vous voulez voir l'intégralité de l'CMakeLists.txt allez voir le lien de projet NEGU93/ForbiddenDesert.