This page contiene un buon riepilogo delle variabili che CMake definisce già per noi. Sento che alcune variabili sono le stesse. Prendi ad esempio l'esempio CMAKE_SOURCE_DIR
e PROJECT_SOURCE_DIR
. Sono uguali, facendo riferimento alla cartella in cui è definito il livello principale CMakeLists.txt. Quindi la mia domanda è: c'è una sottile differenza tra loro? Grazie.CMAKE_SOURCE_DIR e PROJECT_SOURCE_DIR sono gli stessi in CMake?
risposta
Lì è una differenza tra queste variabili. CMAKE_SOURCE_DIR
fa infatti riferimento alla cartella in cui è definito il CMakeLists.txt di livello superiore. Tuttavia, PROJECT_SOURCE_DIR
fa riferimento alla cartella di CMakeLists.txt contenente il comando più recente project()
.
Ad esempio, supponiamo di avere un progetto di livello superiore denominato Outer
e che contenga una sottodirectory con il proprio progetto denominato Inner
. Outer
'CMakeLists.txt s ha:
project(Outer)
add_subdirectory(Inner)
e Inner
' s:
project(Inner)
Poi, in entrambi questi file CMakeLists, CMAKE_SOURCE_DIR
sarà fare riferimento a Outer
s' dir fonte. Ma mentre PROJECT_SOURCE_DIR
per Outer
è anche questa stessa dir, questo non è il caso di Inner
. PROJECT_SOURCE_DIR
è la sottodirectory che contiene il suo CMakeLists.txt
Questa differenza si applica a tutte le variabili PROJECT_<var>
rispetto a CMAKE_<var>
.
- 1. Dov'è CMAKE_SOURCE_DIR?
- 2. StopWatch.ElapsedTicks e StopWatch.Elapsed.Ticks sono sempre gli stessi?
- 3. in php e dict in python sono gli stessi?
- 4. Gli utenti 'Utente' @ '%' e 'Utente' @ 'localhost' non sono gli stessi?
- 5. 'let e' var 'sono gli stessi in Typescript?
- 6. I CAST e CONVERT sono gli stessi in SQL?
- 7. Rilevare se due percorsi sono gli stessi
- 8. Gli intervalli, i segmenti, gli alberi fenwick sono gli stessi?
- 9. più numeri casuali sono gli stessi
- 10. prova se due elementi sono gli stessi
- 11. regex e sed di Java non sono gli stessi ...?
- 12. LocalBroadcastManager vs Context.registerReceiver(), Context.sendBroadcast (Intent) e Context.unregisterReceiver() sono gli stessi?
- 13. "Dependency Inversion" e "Design to Interfaces" sono gli stessi principi?
- 14. connection.setRequestProperty e scrittura esplicita sull'urloutputstream sono gli stessi?
- 15. E 'solo una coincidenza che Kleisli, ReaderT, e Reader sono gli stessi in Scalaz
- 16. Gli indirizzi IP per domini e relativi sottodomini sono gli stessi?
- 17. Sono ref e out in C# gli stessi puntatori in C++?
- 18. Sono permessi gli stessi nomi di variabili e parametri in una funzione javascript?
- 19. CMake e tra gli altri makefile
- 20. CMake e Latex
- 21. Perché i baud rate di input e output sono sempre gli stessi?
- 22. Il titolo del pulsante di navigazione e il nome del pulsante Indietro sono gli stessi?
- 23. rendimenti perché TypeId che int e const int sono gli stessi tipi
- 24. JQuery e Ajax.BeginForm() che inviano gli stessi dati due volte
- 25. Come riselezionare su un elenco di modifiche, quando gli oggetti sono gli stessi?
- 26. cmake non collega ncurses
- 27. In Angular: i metodi pre e post della funzione di compilazione sono gli stessi di pre e post del collegamento
- 28. L'ora e il timestamp di Rails in un file di migrazione sono gli stessi per MySQL e Sqlite3?
- 29. Random.Next restituisce sempre gli stessi valori
- 30. Visualizzazioni con gli stessi ID che ottengono gli stessi attrs al momento del ripristino
Puoi anche aggiungere la differenza con 'CMAKE_CURRENT_SOURCE_DIR'? – Svalorzen