Variabili specifiche di LLVM¶
LLVM_TARGETS_TO_BUILD:elenco separato da punti e virgola di target da costruire o all per costruire alltargets. Maiuscole. Il valore predefinito è tutto. Esempio:-DLLVM_TARGETS_TO_BUILD="X86;PowerPC"
. LLVM_BUILD_TOOLS: BOOL Costruire strumenti LLVM. Il valore predefinito è ON. Gli obiettivi per la costruzione di ogni strumento sono generatiin ogni caso. Puoi creare uno strumento separatamente invocando il suo obiettivo. Ad esempio, è possibile creare llvm-come con un sistema basato su Makefile eseguendo makellvm-come nella radice della directory di compilazione. LLVM_INCLUDE_STRUMENTI:BOOL Genera obiettivi di compilazione per gli strumenti LLVM. Il valore predefinito è ON. È possibile utilizzare thisoption per disabilitare la generazione di obiettivi di compilazione per gli strumenti LLVM. LLVM_INSTALL_BINUTILS_SYMLINKS: BOOL Installa i collegamenti simbolici dai nomi degli strumenti binutils agli strumenti LLVM corrispondenti.Ad esempio, ar sarà collegato simbolicamente a llvm-ar. LLVM_INSTALL_CCTOOLS_SYMLINKS: BOOL Installa symliks dai nomi degli strumenti cctools agli strumenti LLVM corrispondenti.Ad esempio, lipo sarà collegato simbolicamente a llvm-lipo. LLVM_BUILD_EXAMPLES: BOOL Costruire LLVM esempi. Il valore predefinito è OFF. Gli obiettivi per la costruzione di ogni esempio sonogenerato in ogni caso. Vedere la documentazione per LLVM_BUILD_TOOLS sopra per moredetails. LLVM_INCLUDE_EXAMPLES: BOOL Genera obiettivi di compilazione per gli esempi LLVM. Il valore predefinito è ON. È possibile utilizzare thisoption per disabilitare la generazione di obiettivi di compilazione per gli esempi LLVM. LLVM_BUILD_TESTS: BOOL Costruire test unitari LLVM. Il valore predefinito è OFF. Obiettivi per la costruzione di ogni test unitàsono generati in ogni caso. È possibile creare un test unitario specifico utilizzando thetargets definito in unittests, come ADTTests, IRTests, SupportTests, ecc. (Cercaadd_llvm_unittest
nelle sottodirectory di unittestsfor un elenco completo dei test unitari.) È possibile costruire tutti i test unitari con gli UNITTEST target. LLVM_INCLUDE_TESTS: BOOL Genera obiettivi di compilazione per i test unitari LLVM. Il valore predefinito è ON. È possibile utilizzare questa opzione per disabilitare la generazione di target di build per gli unittest LLVM. LLVM_BUILD_BENCHMARKS: BOOL aggiunge benchmark all’elenco delle destinazioni predefinite. Il valore predefinito è OFF. LLVM_INCLUDE_BENCHMARKS: BOOL Genera obiettivi di compilazione per i benchmark LLVM. Il valore predefinito è ON. LLVM_APPEND_VC_REV: BOOL incorpora informazioni sulla revisione del controllo della versione (ID revisione Git).Le informazioni sulla versione sono fornite dalla macro
LLVM_REVISION
inllvm/include/llvm/Support/VCSRevision.h
. Gli sviluppatori che usano git che non hanno bisogno di informazioni di revisione possono disabilitare questa opzione per evitare di ricollegare la maggior parte dei binari dopo uno switch di ramo. Il valore predefinito è ON. LLVM_ENABLE_THREADS: BOOL Build con supporto thread, se disponibile. Il valore predefinito è ON. LLVM_ENABLE_UNWIND_TABLES: BOOL Abilita le tabelle di svolgimento nel binario. Disabilitare le tabelle di svolgimento può ridurre la dimensione delle librerie. Il valore predefinito è ON. LLVM_ENABLE_ASSERTIONS: BOOL abilita le asserzioni di codice. Il valore predefinito è ON if e solo seCMAKE_BUILD_TYPE
è Debug. LLVM_ENABLE_EH: BOOL Costruire LLVM con il supporto di gestione delle eccezioni. Questo è necessario se si desidera collegare le librerie LLVM e utilizzare le eccezioni C++ nel proprio codice che devono propagarsi attraverso il codice LLVM. Il valore predefinito è OFF. LLVM_ENABLE_EXPENSIVE_CHECKS: BOOL Abilita il tempo aggiuntivo/il controllo costoso della memoria. Il valore predefinito è OFF. LLVM_ENABLE_IDE: BOOL Dice al sistema di compilazione che viene utilizzato un IDE. Questo a sua volta disabilita la creazione di determinati target di sistema di costruzione di convenienza, come i vari targetinstall-*
echeck-*
, poiché gli IDE non sempre gestiscono bene un gran numero di target. Questo di solito viene rilevato automaticamente, ma può essereconfigurato manualmente per controllare esplicitamente la generazione di tali obiettivi. Onescenario in cui un override manuale può essere desiderabile è quando si utilizza l’integrazione CMake di Visual Studio2017, che altrimenti non verrebbe rilevata come IDE. LLVM_ENABLE_MODULES: BOOL Compilare con moduli di intestazione Clang. LLVM_ENABLE_PIC: BOOL Aggiunge il flag-fPIC
alla riga di comando del compilatore, se il compilatore supporta questo flag. Alcuni sistemi, come Windows, non hanno bisogno di questo flag. Il valore predefinito è ON. LLVM_ENABLE_RTTI: BOOL Costruire LLVM con informazioni sul tipo di runtime. Il valore predefinito è OFF. LLVM_ENABLE_WARNINGS: BOOL Abilita tutti gli avvisi del compilatore. Il valore predefinito è ON. LLVM_ENABLE_PEDANTIC: BOOL Abilita la modalità pedante. Questo disabilita le estensioni specifiche del compilatore, ifpossible. Il valore predefinito è ON. LLVM_ENABLE_WERROR: BOOL Interrompe e fallisce la compilazione, se viene attivato un avviso del compilatore. Il valore predefinito è OFF. LLVM_ABI_BREAKING_CHECKS: STRINGA utilizzata per decidere se LLVM deve essere costruito con ABI breaking checks ornot. I valori consentiti sono WITH_ASSERTS (default), FORCE_ON eforce_off. WITH_ASSERTS attiva ABI che interrompe i controlli in una build abilitata a anassertion. FORCE_ON(FORCE_OFF) li attiva (disattiva) indipendentemente dal fatto che le asserzioni normali (basate su NDEBUG) siano abilitate o meno. Una versione di LLVM costruita con ABI breaking checks non è ABI compatibile con una versione costruita senza di essa. LLVM_BUILD_32_BITS: BOOL Crea eseguibili e librerie a 32 bit su sistemi a 64 bit. Questa opzione è disponibile solo su alcuni sistemi Unix a 64 bit. Il valore predefinito è OFF. LLVM_TARGET_ARCH: STRINGA LLVM target da utilizzare per la generazione di codice nativo. Questo è necessario per JITgeneration. Il valore predefinito è “host”, il che significa che deve scegliere l’architettura della macchina in cui è in costruzione LLVM. Se si sta compilando cross-compilando, impostarloal nome dell’architettura di destinazione. LLVM_TABLEGEN: stringa il percorso completo di un eseguibile TableGen nativo (di solito chiamato
llvm-tblgen
). Questo è inteso per la compilazione incrociata: se l’utente imposta questa variabile, non verrà creato alcun nativeTableGen. LLVM_LIT_ARGS: Argomenti STRINGA dati a lit.make check
emake clang-test
sono affected.By default,'-sv --no-progress-bar'
su Visual C++ e Xcode,'-sv'
su altri. LLVM_LIT_TOOLS_DIR: PERCORSO Il percorso degli strumenti GnuWin32 per i test. Valido su host di Windows. Il valore predefinito è la stringa vuota, nel qual caso lit cercherà gli strumenti necessari per i test(ad esempiogrep
,sort
, ecc.) nel tuo PERCORSO%%. Se GnuWin32 non è nel tuo % PATH%, puoi impostare questa variabile nella directory GnuWin32 in modo chelit possa trovare gli strumenti necessari per i test in quella directory. LLVM_ENABLE_FFI: BOOL Indica se l’interprete LLVM sarà collegato alla libreria libffi (Foreign FunctionInterface Library) per abilitare la chiamata di funzioni esterne.Se la libreria o le sue intestazioni sono installate in una posizione personalizzata, è anche possibile impostare le variabili FFI_INCLUDE_DIR effi_library_dir nelle directory in cui ffi.h e libffi.so può essere trovato,rispettivamente. Il valore predefinito è OFF. LLVM_EXTERNAL_ {CLANG, LLD, POLLY}_SOURCE_DIR: PATH Queste variabili specificano il percorso della directory di origine per i progetti externalLLVM Clang, lld e Polly, rispettivamente, rispetto alla directory top-levelsource. Se la sottodirectory in-tree per un progetto esternoesiste (ad esempio, llvm/tools/clang per Clang), quindi la variabile corrispondente non verrà utilizzata. Se la variabile per un progetto esterno non punta a un percorso valido, quel progetto non verrà creato. LLVM_ENABLE_PROJECTS:Elenco separato da punto e virgola di progetti da compilare o tutti per la creazione di tutti i progetti (clang, libcxx, libcxxabi, lldb, compiler-rt, lld, polly, ecc.).Questo flag presuppone che i progetti siano estratti side-by-side e non nidificati,cioè clang deve essere in parallelo di llvm anziché nidificato in llvm/tools.Questa funzione consente di avere una build solo per LLVM e un’altra per clang+llvm utilizzando lo stesso checkout sorgente.L’elenco completo è:clang;clang-tools-extra;compiler-rt;debuginfo-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;openmp;parallel-libs;polly;pstl
LLVM_EXTERNAL_PROJECTS: elenco separato da punti e virgola di ulteriori progetti esterni da compilare come parte di llvm. Per ogni progetto LLVM_EXTERNAL_< NAME > _SOURCE_DIR deve essere specifiedwith il percorso per il codice sorgente del progetto. Esempio:
-DLLVM_EXTERNAL_PROJECTS="Foo;Bar"-DLLVM_EXTERNAL_FOO_SOURCE_DIR=/src/foo-DLLVM_EXTERNAL_BAR_SOURCE_DIR=/src/bar
. LLVM_USE_OPROFILE: BOOL Abilita la creazione del supporto JIT OPofile. Il valore predefinito è OFF. LLVM_PROFDATA_FILE: PERCORSO Percorso di un file profdata da passare nel flag-fprofile-instr-use di clang. Questo può essere specificato solo se stai costruendo con clang. LLVM_USE_INTEL_JITEVENTS: BOOL Abilita il supporto per la creazione di API per eventi Intel JIT. Il valore predefinito è OFF. LLVM_ENABLE_LIBPFM: BOOL Abilita la creazione con libpfm per supportare le misurazioni del contatore hardware in LLVMtools.Il valore predefinito è ON. LLVM_USE_PERF: BOOL Abilita il supporto di creazione per il supporto JIT Perf (linux profiling tool). Il valore predefinito è OFF. LLVM_ENABLE_ZLIB: BOOL Abilita la creazione con zlib per supportare la compressione / decompressione negli strumenti LLVM.Il valore predefinito è ON. LLVM_ENABLE_DIA_SDK: BOOL Abilita la costruzione con MSVC DIA SDK per il supporto di debug PDB. Disponibile solo con MSVC. Il valore predefinito è ON. LLVM_USE_SANITIZER: STRINGA Definisce il disinfettante utilizzato per creare binari e test LLVM. Possibili valuesareAddress
,Memory
,MemoryWithOrigins
,Undefined
,Thread
,DataFlow
, eAddress;Undefined
. Il valore predefinito è stringa vuota. LLVM_UBSAN_FLAGS:STRING Definisce il set di flag di compilazione utilizzati per abilitare UBSan. Utilizzato solo seLLVM_USE_SANITIZER
contieneUndefined
. Questo può essere usato per sovrascrivere il set predefinito di flag UBSan. LLVM_ENABLE_LTO: STRING Add-flto
or-flto=
flags to the compile and link commandlines, enabling link-time optimization. I valori possibili sonoOff
,On
,Thin
eFull
. Il valore predefinito è OFF. LLVM_USE_LINKER: STRINGA Aggiungere-fuse-ld={name}
alla chiamata di collegamento. Il valore possibile dipende dal compilatore, per clang il valore può essere un percorso assoluto per il tuo customlinker, altrimenti clang prefiggerà il nome conld.
e applicherà il suo usualsearch. Ad esempio, per collegare LLVM con il Gold linker, cmake può essere invocato con-DLLVM_USE_LINKER=gold
. LLVM_ENABLE_LIBCXX: BOOL Se il compilatore host e linker supporta il flag stdlib, – stdlib=libc++ è passato alle invocazioni di entrambi in modo che il progetto sia costruito usando libc++invece di stdlibc++. Il valore predefinito è OFF. LLVM_STATIC_LINK_CXX_STDLIB: BOOL Collegamento statico alla libreria standard C++, se possibile. Questo usa il flag ” – static-libstdc++”, ma un compilatore host Clang si collegherà staticamente a libc++se usato insieme al flag LLVM_ENABLE_LIBCXX. Il valore predefinito è OFF. LLVM_ENABLE_LD:BOOL Questa opzione è equivalente a-DLLVM_USE_LINKER = lld, tranne che durante un 2-stagebuild in cui viene aggiunta una dipendenza dal primo stadio al secondo assicurando che lld sia costruito prima dell’inizio della fase 2. LLVM_PARALLEL_COMPILE_JOBS: STRINGA Definisce il numero massimo di lavori di compilazione simultanei. LLVM_PARALLEL_LINK_JOBS: STRINGA Definisce il numero massimo di lavori di collegamento simultanei. LLVM_EXTERNALIZE_DEBUGINFO: BOOL Genera file dSYM e elimina eseguibili e librerie (solo Darwin).Il valore predefinito è OFF. LLVM_USE_CRT_ {target}: STRINGA Su Windows, indica quale versione della libreria di runtime C (CRT) deve essere utilizzata.Ad esempio, – DLLVM_USE_CRT_RELEASE=MT collegherebbe staticamente il CRT agli strumenti e alla libreria theLLVM. LLVM_INTEGRATED_CRT_ALLOC: PATH
Su Windows, consente di incorporare un diverso allocatore di runtime C in LLVMtools e librerie. L’utilizzo di un allocatore senza blocco come quelli elencati di seguito riduce notevolmente il tempo di collegamento sottile di circa un ordine di grandezza. Migliora anche i tempi di costruzione del Clang, di circa il 5-10%. Al momento,rpmalloc, snmalloc e mimalloc sono supportati. Utilizzare il percorso di git clone per selezionareil rispettivo allocatore, ad esempio:
$ D:\git> git clone https://github.com/mjansson/rpmalloc$ D:\llvm-project> cmake ... -DLLVM_INTEGRATED_CRT_ALLOC=D:\git\rpmalloc
Questo flag deve essere utilizzato insieme al CRT statico, cioè. se si costruisce il target theRelease, aggiungere-DLLVM_USE_CRT_RELEASE = MT.
LLVM_BUILD_DOCS: BOOL Aggiunge tutti i target di documentazione abilitati (ad esempio i target Doxgyen e Sphinx) come dipendenze dei target di build predefiniti. Ciò comporta che tutte le destinazioni della documentazione (abilitate) siano parte di una normale build. Se viene eseguita la destinazioneinstall
, questo consente anche di installare tutte le destinazioni della documentazione costruita. Il valore predefinito è OFF. Per abilitare una particolare destinazione di documentazione, vedere LLVM_ENABLE_SPHINX e LLVM_ENABLE_DOXYGEN. LLVM_ENABLE_DOXYGEN: BOOL Consente la generazione di documentazione HTML sfogliabile utilizzando doxygen.Il valore predefinito è OFF. LLVM_ENABLE_DOXYGEN_QT_HELP: BOOL Consente la generazione di un file di aiuto compresso Qt. Il valore predefinito è OFF.Ciò influisce sul target makedoxygen-llvm
. Se abilitato, a parte il normale output HTML generato da doxygen, questo produrrà un nome file QCHorg.llvm.qch
. È quindi possibile caricare questo file in Qt Creator.Questa opzione è utile solo in combinazione con-DLLVM_ENABLE_DOXYGEN=ON
; altrimenti questo non ha alcun effetto. LLVM_DOXYGEN_QCH_FILENAME: STRINGA il nome del file della guida compressa Qt che verrà generato quando vengono forniti-DLLVM_ENABLE_DOXYGEN=ON
e-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
. Il valore predefinito èorg.llvm.qch
.Questa opzione è utile solo in combinazione con-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; altrimenti non ha alcun effetto. LLVM_DOXYGEN_QHP_NAMESPACE: Spazio dei nomi STRINGA sotto il quale vive il file di progetto intermedio Qt Help. Vedere QtHelp Projectfor ulteriori informazioni. Il valore predefinito è ” org.lvm”. Questa opzione è utile solo in combinazione con-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; altrimenti non ha alcun effetto. LLVM_DOXYGEN_QHP_CUST_FILTER_NAME: STRING Vedi Qt Help Project per maggiori informazioni. Il valore predefinito è la variabile CMake
${PACKAGE_STRING}
che è una combinazione del nome del pacchetto e della stringa della versione. Questo filtro può thenbe usato in Qt Creator per selezionare solo la documentazione da LLVM quando browsingthrough tutti i file di aiuto che si potrebbe avere caricato. Questa opzione è soloutile in combinazione con-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; altrimenti non ha alcun effetto. LLVM_DOXYGEN_QHELPGENERATOR_PATH: STRINGA il percorso dell’eseguibileqhelpgenerator
. Il valore predefinito è quello di CMakefind_program()
. Questa opzione è utile solo in combinazione con-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; altrimenti non ha effetto. LLVM_DOXYGEN_SVG: BOOL utilizza .file svg invece di .file png per i grafici nell’output Doxygen.Il valore predefinito è OFF. LLVM_INSTALL_DOXYGEN_HTML_DIR: STRINGA il percorso su cui installare la documentazione HTML generata da Doxygen. Questo percorso può essere assoluto o relativo a CMAKE_INSTALL_PREFIX. I valori predefiniti per condividere / doc / llvm / doxygen-html. LLVM_ENABLE_SPHINX: BOOL Se specificato, CMake cercherà l’eseguibilesphinx-build
e renderà disponibili le opzioniSPHINX_OUTPUT_HTML
eSPHINX_OUTPUT_MAN
CMake.Il valore predefinito è OFF. SPHINX_EXECUTABLE: STRINGA il percorso dell’eseguibilesphinx-build
rilevato da CMake.Per le istruzioni di installazione, seehttps: / / www. sphinx-doc. org / it / master / uso / installazione.html SPHINX_OUTPUT_HTML: BOOL Se abilitato (eLLVM_ENABLE_SPHINX
è abilitato), vengono aggiunti gli obiettivi per la costruzione della documentazione come html (ma non creato per impostazione predefinita a meno cheLLVM_BUILD_DOCS
non sia abilitato). C’è un target per ogni progetto nell’albero delle sorgenti che utilizza sphinx (ad esempiodocs-llvm-html
,docs-clang-html
edocs-lld-html
). Il valore predefinito è ON. SPHINX_OUTPUT_MAN: BOOL Se abilitato (eLLVM_ENABLE_SPHINX
è abilitato) vengono aggiunte le destinazioni per la costruzionele pagine man (ma non create per impostazione predefinita a meno cheLLVM_BUILD_DOCS
non sia abilitato). Attualmente l’unico obiettivo aggiunto èdocs-llvm-man
. Defaultsto SU. SPHINX_WARNINGS_AS_ERRORS:BOOL Se abilitato, gli avvisi di documentazione sphinx verranno trattati come errori. Il valore predefinito è ON. LLVM_INSTALL_SPHINX_HTML_DIR: STRINGA il percorso su cui installare la documentazione HTML generata da Sphinx. Questo percorso può essere assoluto o relativo a CMAKE_INSTALL_PREFIX. I valori predefiniti per condividere / doc / llvm / html. LLVM_INSTALL_OCAMLDOC_HTML_DIR: STRINGA il percorso su cui installare la documentazione HTML generata da OCamldoc. Questo percorso può essere assoluto o relativo a CMAKE_INSTALL_PREFIX. Per maggiori informazioni clicca qui. LLVM_CREATE_XCODE_TOOLCHAIN:BOOL macOS solo: Se abilitato CMake genererà un target denominato’install-xcode-toolchain’. Questo obiettivo creerà una directory in CM CMAKE_INSTALL_PREFIX / Toolchains contenente una directory xctoolchain che può essere utilizzata per sovrascrivere gli strumenti di sistema predefiniti. LLVM_BUILD_LLVM_DYLIB: BOOL Se abilitato, viene aggiunta la destinazione per la creazione della libreria condivisa libLLVM.Questa libreria contiene tutti i componenti di LLVM in una singola libreria condivisa.Il valore predefinito è OFF. Questo non può essere usato insieme a BUILD_SHARED_LIBS.Gli strumenti saranno collegati alla libreria condivisa libLLVM solo se LLVM_LINK_LLVM_DYLIBis è attivo.I componenti nella libreria possono essere personalizzati impostando LLVM_DYLIB_COMPONENTSto un elenco dei componenti desiderati.Questa opzione non è disponibile su Windows. LLVM_LINK_LLVM_DYLIB: BOOL Se abilitato, gli strumenti saranno collegati alla libreria condivisa libLLVM. Defaultsto OFF. L’impostazione di LLVM_LINK_LLVM_DYLIB su ON imposta anche LLVM_BUILD_LLVM_DYLIBto ON.Questa opzione non è disponibile su Windows. BUILD_SHARED_LIBS: BOOL
Flag che indica se ogni componente LLVM (ad esempio Supporto) è creato come sharedlibrary (ON) o come libreria statica (OFF). Il suo valore predefinito è DISATTIVATO. OnWindows, le librerie condivise possono essere utilizzate quando si costruisce con MinGW, includingmingw-w64, ma non quando si costruisce con la toolchain Microsoft.
Nota
BUILD_SHARED_LIBS è consigliato solo per gli sviluppatori LLVM.Se si desidera creare LLVM come libreria condivisa, è necessario utilizzare l’opzioneLLVM_BUILD_LLVM_DYLIB
.
LLVM_OPTIMIZED_TABLEGEN:BOOL Se abilitato e la costruzione di un debug o asserisce costruire il CMake build system willgenerate un albero di build di rilascio per costruire un tablegen completamente ottimizzato per useduring la build. L’attivazione di questa opzione può accelerare significativamente i tempi di costruzionesoprattutto quando si crea LLVM nelle configurazioni di debug. LLVM_REVERSE_ITERATION: BOOL Se abilitato, tutti i contenitori llvm non ordinati supportati verranno iterati in ordine inverso. Questo è utile per scoprire il non determinismo causato daiterazione di contenitori non ordinati. LLVM_BUILD_INSTRUMENTED_COVERAGE: BOOL Se abilitato, la strumentazione di copertura del codice basato su sorgente è abilitata durante la creazione di llvm. LLVM_CCACHE_BUILD: BOOL Se abilitato e il programmaccache
è disponibile, LLVM verrà costruito utilizzandoccache
per accelerare le ricostruzioni di LLVM e dei suoi componenti.Il valore predefinito è OFF. La dimensione e la posizione della cache maintainedbyccache
possono essere regolate tramite LLVM_CCACHE_MAXSIZE e LLVM_CCACHE_DIRoptions, che vengono passate rispettivamente alle variabili ambientali CCACHE_MAXSIZE e CCACHE_DIR. LLVM_FORCE_USE_OLD_TOOLCHAIN: BOOL Se abilitato, le versioni del compilatore e della libreria standard non verranno controllate. LLVMmay non compilare affatto, o potrebbe non riuscire in fase di runtime a causa di bug noti in thesetoolchains. LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL Se abilitato, il controllo della versione del compilatore avviserà solo quando si utilizza un toolchain che sta per essere deprecato, invece di emettere un errore. LLVM_USE_NEWPM: BOOL Se abilitato, utilizzare il nuovo gestore pass sperimentale. LLVM_ENABLE_BINDINGS: BOOL Se disabilitato, non provare a creare OCaml e andare a binding. LLVM_ENABLE_Z3_SOLVER: BOOL Se abilitato, il risolutore di vincoli Z3 viene attivato per l’analizzatore statico Clang.Una versione recente della libreria z3 deve essere disponibile sul sistema. LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO: BOOL Riscrive i percorsi di origine assoluti nelle informazioni di debug in quelli relativi. Il prefisso sorgente può essere regolato tramite la variabile LLVM_SOURCE_PREFIX. LLVM_USE_RELATIVE_PATHS_IN_FILES: BOOL Riscrive i percorsi di origine assoluti nei sorgenti e mette a punto le informazioni su quelle relative. Il prefisso sorgente può essere regolato tramite la variabile LLVM_SOURCE_PREFIX. LLVM_INSTALL_UTILS: BOOL Se abilitato, i binari di utilità comeFileCheck
enot
verranno installati su CMAKE_INSTALL_PREFIX.