web-dev-qa-db-fra.com

cmake génère un projet Xcode à partir de sources existantes

Voici ce que j'ai quand je démarre la génération:

iMac:IXCSoftswitch alex$ /usr/bin/cmake -G Xcode .
-- CMAKE_SOURCE_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch,   CMAKE_BINARY_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch
CMake Error at CMakeLists.txt:25 (MESSAGE):
  Binary and source directory cannot be the same


-- Configuring incomplete, errors occurred!

Comment puis-je le réparer? Je suis nouveau chez cmake, les échantillons sont appréciés.

16
user170317

CMake est utilisé pour produire des versions hors source .

L'idée ici est que vous ne mélangez pas les fichiers créés lors de la compilation avec les fichiers source d'origine. Dans la pratique, vous exécutez généralement CMake à partir d'un nouveau répertoire de construction vide et donnez le chemin d'accès au répertoire source comme argument.

cd IXCSoftswitch
mkdir build
cd build
cmake -G Xcode ..

Tous les fichiers générés par CMake (qui pourraient être un lot ) iront maintenant dans le sous-répertoire build, tandis que votre répertoire source reste nettoyer des artefacts de construction.

Le concept de builds out-of-source peut sembler étrange au début, mais c'est en fait une façon très pratique de travailler une fois que vous vous y êtes habitué.

52
ComicSansMS

Depuis la racine du répertoire de votre projet.

cmake -G Xcode -H. -B_build

Ceci est similaire à la réponse ci-dessus. Cependant, vous gérez manuellement la génération hors source. -B définit votre répertoire de construction cible (il se trouve que je préfère _build). J'ai essayé de chercher -H pour vérifier, mais je ne l'ai pas trouvé. Si la mémoire est bonne, elle spécifie où réside votre CMakeLists.txt.

Je garde cette commande dans un fichier .sh/.bat (selon). De cette façon, je peux conserver mes scripts qui construisent mon projet à la racine où une nouvelle personne peut facilement les trouver.

5
JR Smith