Où est CMAKE_SOURCE_DIR?
Est cette variable est toujours définie sur le répertoire contenant le CMakeLists.txt
fichier que je dirige cmake
?
Par exemple, si je souhaite exécuter cmake
sur un CMakeLists.txt
fichier existe dans le répertoire au-dessus de mon répertoire en cours, je voudrais aller: cmake ..
.
Dans ce cas, qu'est-ce que mon CMAKE_SOURCE_DIR ensemble?
OriginalL'auteur patchwork | 2014-05-12
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez les 2 dossiers
src
etbuild
oùsrc
contient vos projets etbuild
est le dossier vide que vous venez de créer, vous pouvez déployer votre arbre de construire:CMAKE_SOURCE_DIR
est le chemin d'accès àsrc
oùCMAKE_BINARY_DIR
points debuild
.Notez que si vous faites un dans l'arborescence de construire, les 2 entrées du cache d'obtenir la même valeur.
lien: CMake Variables Utiles .
MODIFIER
pour plus de précisions,
si vous faites quelque chose comme
vous faire un arbre de construction où
CMAKE_SOURCE_DIR
etCMAKE_BINARY_DIR
obtenir des valeurs différentessavez-vous ce qu'un arbre de construire est ? c'est lorsque vous configurez et de construire votre projet dans un dossier qui n'est pas la source d'origine du dossier, donc quand vous dites que vous utilisez
cmake ..
de votre arborescence des sources que vous faites un arbre de construction.merci, non je ne sais pas ce qu'un arbre de construire a été. Je n'ai pas encore réussi à relier les informations que vous avez donné dans votre réponse à ma question à savoir "Est-ce variable (CMAKE_SOURCE_DIR) toujours dans le répertoire contenant l'CMakeLists.txt le fichier que j'ai lancer cmake?" De toute façon, j'ai trouvé CMAKE_SOURCE_DIR était en l'exportant dans le cache.
Dans l'exemple ci-dessus, où seriez-vous mettre en ligne les premières CMakeLists.txt qui est exécuté? Dans le
src
répertoire? Je pense que c'est pourquoi je ne peux pas rapporter cette réponse à ma question - parce que je ne sais pas où vous mettez les CMakeLists.txt fichier.Est-ce que votre réponse implique que
CMAKE_BINARY_DIR
est le dossier où j'ai d'abord exécuter lecmake
commande? (Dans votre exemple, le<some location>/build
dossier...)OriginalL'auteur user2485710