Articles

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_DIReCMAKE_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 PATHoFILEPATHallora<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_SHOWviene 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 infile 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 chiaveversion per la versione corrente maggiore e minore del

Formato 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 inCMAKE_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 MYVAR1, ma l’utente imposta 2 con un-D argomento, il valore 2 è 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.