cmake (1)¶
Opzioni¶
-S <path-to-source>
Percorso della directory principale del progetto CMake da compilare.
-B <path-to-build>
Percorso della directory che CMake userà come root della directory di compilazione.
Se la directory non esiste già CMake ce la farà.
-C <initial-cache>
Precaricare uno script per popolare la cache.
Quando CMake viene eseguito per la prima volta in un albero di build vuoto, crea un fileCMakeCache.txt
e lo popola con impostazioni personalizzabili per il progetto. Questa opzione può essere utilizzata per specificare un file da cui caricare le voci della cache prima del primo passaggio attraverso i file di elenco del progetto. Le voci caricate hanno la priorità sui valori predefiniti del progetto. Il file specificato dovrebbe essere un cmake scriptcontenenteset()
comandi che utilizzano l’opzioneCACHE
, non il file in formato acache.
I riferimenti a CMAKE_SOURCE_DIR
eCMAKE_BINARY_DIR
all’interno dello script valutano l’origine di livello superiore e l’albero di compilazione.
-D <var>:<type>=<value>, -D <var>=<value>
Crea o aggiorna una voce CMake CACHE
.
Quando CMake viene eseguito per la prima volta in un albero di build vuoto, crea un fileCMakeCache.txt
e lo popola con impostazioni personalizzabili per il progetto. Questa opzione può essere utilizzata per specificare un’impostazione cheprende priorità sul valore predefinito del progetto. L’opzione può essere ripetuta per tutte le voci CACHE
come desiderato.
Se viene fornita la porzione :<type>
, deve essere uno dei tipi specificati dalla documentazione del comando set()
per la firmaCACHE
.Se la porzione:<type>
viene omessa, la voce verrà creata senza tipo se non esiste già con un tipo. Se un comando nel progetto imposta il tipo su PATH
oFILEPATH
allora<value>
verrà convertito in un percorso assoluto.
Questa opzione può anche essere fornita come argomento singolo:-D<var>:<type>=<value>
o-D<var>=<value>
.
-U <globbing_expr>
Rimuovi le voci corrispondenti da CMake CACHE
.
Questa opzione può essere utilizzata per rimuovere una o più variabili dal fileCMakeCache.txt
, globbing espressioni utilizzando *
e ?
sono supportate. L’opzione può essere ripetuta per tutte le vociCACHE
desiderate.
Usa con cura, puoi rendere il tuoCMakeCache.txt
non funzionante.
-G <generator-name>
Specifica un generatore di sistema di compilazione.
CMake può supportare più sistemi di compilazione nativi su certainplatforms. Un generatore è responsabile della generazione di un particolaresistema di costruzione. I possibili nomi dei generatori sono specificati nel manualecmake-generators(7)
.
Se non specificato, CMake controllaCMAKE_GENERATOR
environmentvariable e altrimenti ricade su una selezione predefinita incorporata.
-T <toolset-spec>
Specifiche del set di strumenti per il generatore, se supportato.
Alcuni generatori CMake supportano una specifica del set di strumenti per indicare al sistema di compilazione nativo come scegliere un compilatore. Vedere la variabileCMAKE_GENERATOR_TOOLSET
per i dettagli.
-A <platform-name>
Specificare il nome della piattaforma se supportato dal generatore.
Alcuni generatori CMake supportano un nome di piattaforma da assegnare al sistema di compilazione nativo per scegliere un compilatore o SDK. Vedere la variabileCMAKE_GENERATOR_PLATFORM
per i dettagli.
-Wno-dev
Elimina gli avvisi dello sviluppatore.
Elimina gli avvisi destinati all’autore dei fileCMakeLists.txt
. Per impostazione predefinita, questo disattiverà anche gli avvisi di cancellazione.
-Wdev
Abilita gli avvisi dello sviluppatore.
Abilita gli avvisi destinati all’autore dei fileCMakeLists.txt
. Per impostazione predefinita, questo attiverà anche gli avvisi di deprecazione.
-Werror=dev
Crea errori di avviso degli sviluppatori.
Crea avvisi che sono pensati per l’autore diCMakeLists.txt
fileserrors. Per impostazione predefinita, questo attiverà anche gli avvisi deprecati come errori.
-Wno-error=dev
Crea avvisi per gli sviluppatori non errori.
Crea avvisi che sono pensati per l’autore delCMakeLists.txt
file noterrors. Per impostazione predefinita, questo disattiverà anche gli avvisi deprecati come errori.
-Wdeprecated
Abilita avvisi di funzionalità deprecate.
Abilita gli avvisi per l’utilizzo di funzionalità deprecate, che sono significatiper l’autore dei fileCMakeLists.txt
.
-Wno-deprecated
Elimina gli avvisi di funzionalità deprecati.
Elimina gli avvisi per l’utilizzo di funzionalità deprecate, che sono significatiper l’autore dei fileCMakeLists.txt
.
-Werror=deprecated
Crea errori di avviso macro e funzione deprecati.
Crea avvisi per l’utilizzo di macro e funzioni deprecate, che sono significatiper l’autore dei fileCMakeLists.txt
, errori.
-Wno-error=deprecated
Rendi obsoleti gli avvisi di macro e funzioni non errori.
Crea avvisi per l’utilizzo di macro e funzioni deprecate, che sono significatiper l’autore dei fileCMakeLists.txt
, non errori.
-L
Elenca le variabili memorizzate nella cache non avanzate.
List CACHE
le variabili eseguiranno CMake ed elencheranno tutte le variabili dal CMake CACHE
che non sono contrassegnate come INTERNAL
o ADVANCED
.Questo visualizzerà efficacemente le impostazioni CMake correnti, che possono quindi essere modificate con l’opzione -D
. La modifica di alcune variabili può comportare la creazione di più variabili. Se viene specificatoA
, visualizzerà anche variabili avanzate. Se viene specificatoH
, visualizzerà anche l’aiuto per ogni variabile.
-N
Solo modalità di visualizzazione.
Carica solo la cache. In realtà non eseguire configure e generatesteps.
--graphviz=
Genera graphviz delle dipendenze, vedi CMakeGraphVizOptions
per ulteriori informazioni.
Genera un file di input graphviz che conterrà tutta la libreria e le dipendenze eseguibili nel progetto. Vedere la documentazione per CMakeGraphVizOptions
per maggiori dettagli.
--system-information
Scarica le informazioni su questo sistema.
Scarica una vasta gamma di informazioni sul sistema corrente. Se eseguito dalla parte superiore di un albero binario per un progetto CMake, scaricherà ulteriori informazioni come la cache, i file di registro ecc.
--log-level=<ERROR|WARNING|NOTICE|STATUS|VERBOSE|DEBUG|TRACE>
Imposta il livello di log.
Il comando message()
emetterà solo messaggi del livello specificato o superiore. Il livello di log predefinito è STATUS
.
Per far persistere un livello di log tra le esecuzioni di CMake, impostareCMAKE_MESSAGE_LOG_LEVEL
come variabile cache.Se vengono fornite sia l’opzione della riga di comando che la variabile, il comando lineoption ha la precedenza.
Per ragioni di retrocompatibilità, --loglevel
è anche accettato come asynonym per questa opzione.
--log-context
Abilita il comando message()
che emette il contesto collegato a ciascun messaggio.
Questa opzione attiva la visualizzazione del contesto per l’esecuzione CMake corrente only.To rendi persistente il contesto per tutte le successive esecuzioni di CMake, impostaCMAKE_MESSAGE_CONTEXT_SHOW
come variabile cache.Quando viene fornita questa opzione da riga di comando, CMAKE_MESSAGE_CONTEXT_SHOW
viene ignorato.
--debug-trycompile
Non eliminare l’albero di compilazionetry_compile()
.Utile solo su un try_compile()
alla volta.
Non eliminare i file e le directory create per le chiamate try_compile()
. Questo è utile nel debug di try_compiles non riuscito. Può tuttavia modificare i risultati delle try-compiles come vecchio junk da un precedente try-compile può causare un test diverso per passare orfail in modo errato. Questa opzione è utilizzata al meglio per una prova-compilazione alla volta e solo durante il debug.
--debug-output
Metti cmake in una modalità di debug.
Stampa informazioni extra durante l’esecuzione di cmake come tracce di stack conmessage(SEND_ERROR)
chiamate.
--debug-find
Metti i comandi cmake find in modalità debug.
Stampa le informazioni di chiamata extra find durante l’esecuzione cmake a standarderror. L’output è progettato per il consumo umano e non per l’analisi.Vedere anche la variabileCMAKE_FIND_DEBUG_MODE
per il debugginguna parte più locale del progetto.
--trace
Metti cmake in modalità traccia.
Stampa una traccia di tutte le chiamate effettuate e da dove.
--trace-expand
Metti cmake in modalità traccia.
Come --trace
, ma con variabili espanse.
--trace-format=<format>
Metti cmake in modalità traccia e imposta il formato di output traccia.
<format>
può essere uno dei seguenti valori.
human
Stampa ogni riga di traccia in un formato leggibile dall’uomo. Questo è il formato predefinito.
json-v1
Stampa ogni riga come documento JSON separato. Ogni documento è separato da una nuova riga (
\n
). È garantito che i caratteri nonewline saranno presenti all’interno di un documento JSON.Formato di traccia JSON:
{ "file": "/full/path/to/the/CMake/file.txt", "line": 0, "cmd": "add_executable", "args": , "time": 1579512535.9687231, "frame": 2}I membri sono:
file
Il percorso completo del file sorgente CMake in cui è stata chiamata la funzione.
line
La riga in
file
della chiamata di funzione.
defer
Membro opzionale presente quando la chiamata alla funzione è stata posticipata da
cmake_language(DEFER)
. Se presente, il suo valore è astring contenente la chiamata differita<id>
.
cmd
Il nome della funzione che è stata chiamata.
args
Un elenco di stringhe di tutti i parametri di funzione.
time
Timestamp (secondi dall’epoca) della chiamata di funzione.
frame
Stack frame profondità della funzione che è stata chiamata.
Inoltre, il primo documento JSON emesso contiene la chiave
version
per la versione corrente maggiore e minore delFormato di traccia JSON:
{ "version": { "major": 1, "minor": 1 }}I membri sono:
version
Indica la versione del formato JSON. La versione ha componenti principali e minori che seguono le convenzioni di versione semantiche.
--trace-source=<file>
Metti cmake in modalità traccia, ma emette solo righe di un file specificato.
Sono consentite più opzioni.
--trace-redirect=<file>
Metti cmake in modalità traccia e reindirizza l’output della traccia su un file invece di stderr.
--warn-uninitialized
Avvisa sui valori non inizializzati.
Stampa un avviso quando viene utilizzata una variabile non inizializzata.
--warn-unused-vars
Non fa nulla. Nelle versioni CMake 3.2 e successive, questo ha abilitato gli avvisi sulle variabili non utilizzate. Nelle versioni CMake da 3.3 a 3.18 l’opzione era broken.In CMake 3.19 e superiori l’opzione è stata rimossa.
--no-warn-unused-cli
Non avvisare delle opzioni della riga di comando.
Non trova le variabili dichiarate sulla riga di comando, ma notused.
--check-system-vars
Trova problemi con l’utilizzo delle variabili nei file di sistema.
Normalmente, le variabili non utilizzate e non inizializzate vengono ricercate solo in
CMAKE_SOURCE_DIR
eCMAKE_BINARY_DIR
.Questo flag dice a CMake di avvisare anche di altri file.
--profiling-output=<path>
Utilizzato in combinazione con
--profiling-format
per l’output in un determinato percorso.
--profiling-format=<file>
Abilita l’output dei dati di profilazione dello script CMake nel formato specificato.
Questo può aiutare l’analisi delle prestazioni degli script CMake eseguiti. Le applicazioni di terze parti dovrebbero essere utilizzate per elaborare l’output in un formato leggibile dall’uomo.
I valori attualmente supportati sono:
google-trace
Output in formato Google Trace, che possono essere analizzati dalla scheda about:tracing di Google Chrome o utilizzando un plugin per uno strumento come TraceCompass.
--preset <preset>
--preset=<preset>
Legge
preset
da<path-to-source>/CMakePresets.json
e<path-to-source>/CMakeUserPresets.json
. Il preset specifica thegenerator e la directory di compilazione e facoltativamente un elenco di variabili e altri argomenti da passare a CMake. La directory di lavoro corrente deve contenerefare file preimpostati. I fileCMake GUI
possono anche riconoscereCMakePresets.json
eCMakeUserPresets.json
. Per tutti i dettagli su questi file, vederecmake-presets(7)
.I preset vengono letti prima di tutte le altre opzioni della riga di comando. Le opzionispecificate dal preset (variabili, generatore, ecc.) possono essere tutti sovrascritti daspecificandoli manualmente sulla riga di comando. Per esempio, se il preset setsa variabile chiamata
MYVAR
1
, ma l’utente imposta2
con un-D
argomento, il valore2
è preferito.
--list-presets, --list-presets=<>
Elenca i preset disponibili. Se non viene specificata alcuna opzione, verranno elencati solo i preset configurati. La directory di lavoro corrente deve contenere i file preimpostati CMake.
Leave a Reply