Ce n'cmake .. faire?
J'ai eu le Box2D source du projet et souhaitez compiler le banc d'essai partie.
Le dossier de projet contient des dossiers comme: freeglu glui banc d'essai(une démo) helloword(démo)
Box2D Construire CMakeFiles
Il y a beaucoup de CMakeLists.txt dans tous les différents dossiers.
Je pensais que je devrais cmake tous ces fichiers afin de rendre les fichiers sont créés dans tous les endroits nécessaires.
J'ai lu ce (que les instructions pour faire ce que je veux) :
wget http://box2d.googlecode.com/files/Box2D_v2.2.1.zip
unzip Box2D_v2.2.1.zip
cd Box2D_v2.2.1/Build
cmake ..
make
Ce qui ne l'cmake .. faire?
Il n'y a pas de CMakeLists.txt dans le dossier de création.
- Mais il devrait y avoir un CMakeLists.txt fichier dans "Box2D_v2.2.1" le dossier. Dans "cmake ..", double pointillé marques de dire CMakeLists.txt fichier existe dans le répertoire vers le haut dans la hiérarchie du répertoire "Box2D_v2.2.1/Construire/".
Vous devez vous connecter pour publier un commentaire.
cmake est un générateur de Makefile.
Lorsque vous appelez
cmake [path]
, vous lui demandez de générer un Makefile dans le répertoire courant suivant les instructions données dans[path]/CMakeLists.txt
Généralement cmake sortie de certains messages pendant qu'il travaille, et après il se fait sans erreurs, vous pouvez taper "make" pour exécuter votre nouvellement créé Makefile.
CMakeLists.txt fichiers peuvent faire référence à d'autres CMakeLists.txt de fichiers dans des sous-répertoires, de sorte que vous ne sont généralement intéressés par la CMakeLists.txt de la haut répertoire, pas pour les autres.
À l'aide d'un vide à "construire" le répertoire est une technique appelée "out-of-source de la construction", dans lequel tous vos fichiers générés (.o, exécutable, Makefile .quoi que ce soit) sont générés dans le "build" répertoire et pas mélangé avec les fichiers source. Si vous voulez nettoyer tout, vous pouvez supprimer tout le contenu du répertoire de construction.
En fait, vous pouvez mettre votre "construire" directory en tout lieu, aussi longtemps que vous donnez cmake le bon chemin de haut CMakeLists.txt. Vous pouvez même avoir plusieurs répertoires de construction. Il est très utile si vous avez besoin de plusieurs compilations différentes en même temps (avec différentes options, différentes versions de gcc, etc.)
Dans les anciens programmes, vous générer le Makefile trop, mais en utilisant
./configure
(ce qui est appelé auto-outils. Vous rencontrez peut-être déjà). cmake est considéré comme un successeur de l'auto-outils.cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON
.. au lieu de simplementcmake ..
Aucune idée de ce que cela signifie?cmake ..
génère les fichiers makefile dans le répertoire courant, à l'aide de../CMakeLists.txt
fichier comme point de départ. faire commande, exécutée après cela, construit le programme, en utilisant makefile(s) en entrée. C'est pratique pour garder un code source et de construire des résultats dans des dossiers différents. La syntaxe générale est: cmake source-dir (bien sûr, il ya beaucoup d'autres commutateurs).Bien,
..
est un raccourci pour le dossier parent, il sera sans doute agir sur tout ce qu'il trouve dansBox2D_v2.2.1
.