2014-05-12 6 views
8

Questa variabile è sempre impostata sulla directory contenente il file CMakeLists.txt su cui è in esecuzione cmake?Dov'è CMAKE_SOURCE_DIR?

Per esempio, se voglio correre cmake su un file CMakeLists.txt che esiste nella directory sopra la mia directory corrente, vorrei andare: cmake ...

In questo caso, a cosa è impostato il mio CMAKE_SOURCE_DIR?

risposta

4

Supponendo di avere 2 cartelle src e build dove src contiene i vostri progetti e build è la cartella vuota appena creata in modo da poter distribuire l'accumulo out-of-albero in esso: CMAKE_SOURCE_DIR è il percorso src dove CMAKE_BINARY_DIR punta a build.

Si noti che se si sta eseguendo una build in-tree, le 2 voci della cache ottengono lo stesso valore.

collegamento: CMake Useful Variables.


EDIT

per ulteriori chiarimenti

<some location>/src/CMakeLists.txt (so *src* is the root of your project) 
<some location>/build 

se fai qualcosa di simile

cd <some location>/build 
cmake <some location>/src 

si stanno facendo una build out-of-albero dove 0.123.e CMAKE_BINARY_DIR ottenere valori diversi

+0

Grazie per la risposta. Ma sfortunatamente non capisco come questa risposta si riferisca alla mia domanda di cui sopra. Tuttavia, potrei mancare alcune informazioni di base. – patchwork

+0

@patchwork sai cosa è una build fuori dall'account? è quando configuri e costruisci il tuo progetto in una cartella che non è la cartella di origine originale, quindi quando dici di usare 'cmake ..' dall'albero dei sorgenti stai facendo una build out-of-tree. – user2485710

+0

grazie, no non sapevo cosa fosse una build fuori dal campo. Non sono ancora riuscito a collegare le informazioni che hai fornito nella tua risposta, con la mia domanda, ad esempio "Questa variabile (CMAKE_SOURCE_DIR) è sempre impostata sulla directory contenente il file CMakeLists.txt su cui eseguo cmake?" Ad ogni modo - ho scoperto cos'è CMAKE_SOURCE_DIR esportandolo nella cache. – patchwork