LLVM – specifieke variabelen¶
LLVM_TARGETS_TO_BUILD: STRING puntkomma-gescheiden lijst van te bouwen doelen, or all for building alltargets. Hoofdlettergevoelig. Standaard is alles. Voorbeeld:-DLLVM_TARGETS_TO_BUILD="X86;PowerPC"
. LLVM_BUILD_TOOLS: bool Build LLVM gereedschappen. Standaard aan. Doelen voor het bouwen van elke tool worden in elk geval gegenereerd. U kunt een tool afzonderlijk bouwen door het doel aan te roepen. Bijvoorbeeld, je kunt llvm bouwen-zoals met een op Makefile gebaseerd systeem door makellvm uit te voeren-zoals in de root van je build directory. LLVM_INCLUDE_TOOLS:BOOL genereer build targets voor de LLVM tools. Standaard aan. U kunt deze optie gebruiken om het genereren van bouwdoelen voor de LLVM-gereedschappen uit te schakelen. LLVM_INSTALL_BINUTILS_SYMLINKS: BOOL installeer symlinks van de binutils gereedschapsnamen naar de corresponderende LLVM gereedschappen.Ar wordt bijvoorbeeld gesymlinkt naar llvm-ar. LLVM_INSTALL_CCTOOLS_SYMLINKS: BOOL installeer symliks van de CCTools-gereedschapsnamen naar de corresponderende LLVM-gereedschappen.Lipo wordt bijvoorbeeld gesynchroniseerd met llvm-lipo. LLVM_BUILD_EXAMPLES: bool Build LLVM voorbeelden. Standaard uitgeschakeld. Doelstellingen voor het bouwen van elk voorbeeld worden in ieder geval gegenereerd. Zie documentatie voor LLVM_BUILD_TOOLS hierboven voor meer details. LLVM_INCLUDE_EXAMPLES: BOOL genereert build targets voor de LLVM voorbeelden. Standaard aan. U kunt deze optie gebruiken om het genereren van bouwdoelen voor de LLVM-voorbeelden uit te schakelen. LLVM_BUILD_TESTS: bool Build LLVM unit tests. Standaard uitgeschakeld. Doelen voor het bouwen van elke eenheid test worden in ieder geval gegenereerd. U kunt een specifieke unit test bouwen met behulp van de doelen gedefinieerd onder unittests, zoals ADTTests, IRTests,SupportTests, etc. (Zoek naaradd_llvm_unittest
in de submappen van unittestsvoor een volledige lijst van unit tests.) Het is mogelijk om alle unit testsmet de target UnitTests te bouwen. LLVM_INCLUDE_TESTEN: BOOL genereert build targets voor de LLVM unit tests. Standaard aan. U kunt deze optie gebruiken om het genereren van build targets voor de LLVM unittests uit te schakelen. LLVM_BUILD_BENCHMARKS: BOOL voegt benchmarks toe aan de lijst met standaarddoelen. Standaard uitgeschakeld. LLVM_INCLUDE_BENCHMARKS: BOOL genereert build targets voor de LLVM benchmarks. Standaard aan. LLVM_APPEND_VC_REV: BOOL Embed versiebeheer revisie info (Git Revisie id).De versie-informatie wordt geleverd door de macro
LLVM_REVISION
inllvm/include/llvm/Support/VCSRevision.h
. Ontwikkelaars die git gebruiken die geen revisie info nodig hebben, kunnen deze optie uitschakelen om te voorkomen dat de meeste binaries opnieuw worden gekoppeld na een branch switch. Standaard aan. LLVM_ENABLE_THREADS: BOOL Build met threads ondersteuning, indien beschikbaar. Standaard aan. LLVM_ENABLE_UNWIND_TABLES: Bool enable unwind tabellen in de binaire. Het uitschakelen van unwind tables kan de grootte van de bibliotheken te verminderen. Standaard aan. LLVM_ENABLE_ASSERTIONS: BOOL schakelt codeverklaringen in. Staat standaard aan ALS en alleen alsCMAKE_BUILD_TYPE
Debug is. LLVM_ENABLE_EH: bool Build LLVM met uitzondering-handling ondersteuning. Dit is nodig als je tegen LLVM libraries wilt linken en gebruik wilt maken van C++ uitzonderingen in je eigen codethat moet doorgeven via LLVM code. Standaard uitgeschakeld. LLVM_ENABLE_EXPENSIVE_CHECKS: BOOL inschakelen extra tijd / geheugen dure controle. Standaard uitgeschakeld. LLVM_ENABLE_IDE: BOOL vertel het bouwsysteem dat een IDE wordt gebruikt. Dit schakelt op zijn beurt het creëren van bepaalde convenience build-systeemdoelstellingen uit, zoals de verschillendeinstall-*
encheck-*
– doelstellingen, omdat IDEs niet altijd goed omgaan met een groot aantal doelstellingen. Dit wordt meestal automatisch gedetecteerd, maar het kan handmatig worden geconfigureerd om expliciet de generatie van die doelen te controleren. Onescenario waar een handmatige bediening wenselijk kan zijn is bij het gebruik van Visual Studio2017 ‘ s CMake-integratie, die anders niet zou worden gedetecteerd als een IDE. LLVM_ENABLE_MODULES: Bool compileren met Clang Header Modules. LLVM_ENABLE_PIC: BOOL voeg de-fPIC
vlag toe aan de compiler opdrachtregel, als de compiler deze vlag ondersteunt. Sommige systemen, zoals Windows, hebben deze vlag niet nodig. Standaard aan. LLVM_ENABLE_RTTI: bool Build LLVM met runtime type informatie. Standaard uitgeschakeld. LLVM_ENABLE_WARNINGS: BOOL alle compiler waarschuwingen inschakelen. Standaard aan. LLVM_ENABLE_PEDANTIC: BOOL Enable pedantic mode. Dit schakelt compiler – specifieke extensies uit, indien mogelijk. Standaard aan. LLVM_ENABLE_WERROR: BOOL Stop en faal de build, als een compiler waarschuwing wordt geactiveerd. Standaard uitgeschakeld. LLVM_ABI_BREAKING_CHECKS: STRING gebruikt om te beslissen of LLVM moet worden gebouwd met ABI breaking checks ornot. Toegestane waarden zijn WITH_ASSERTS (standaard), FORCE_ON andFORCE_OFF. WITH_ASSERTS schakelt ABI het breken van controles in anassertion ingeschakeld bouwen. FORCE_ON(FORCE_OFF) zet ze aan (uit) ongeacht of normale (NDEBUG-gebaseerde) beweringen zijn ingeschakeld of niet. Een versie van LLVM gebouwd met ABI breaking checksis niet ABI compatibel met een versie gebouwd zonder het. LLVM_BUILD_32_BITS: BOOL bouwt 32-bits uitvoerbare bestanden en bibliotheken op 64 – bits systemen. Deze optie is alleen beschikbaar op sommige 64-bit Unix systemen. Standaard uitgeschakeld. LLVM_TARGET_ARCH: STRING LLVM doel te gebruiken voor native code generatie. Dit is vereist voor Jitgeneratie. Het staat standaard op “host”, wat betekent dat het de architectuur van de machine zal kiezen waar LLVM wordt gebouwd. Als je cross-compileert, stel het dan in op de naam van de doelarchitectuur. LLVM_TABLEGEN: STRING Volledig pad naar een native tablegen executable (meestal genaamd
llvm-tblgen
). Dit is bedoeld voor cross-compileren: als de gebruiker deze variabele instelt, zal er geen nativeTableGen worden aangemaakt. LLVM_LIT_ARGS: STRING argumenten gegeven aan lit.make check
enmake clang-test
zijn affected.By standaard,'-sv --no-progress-bar'
op Visual C++ en Xcode,'-sv'
op andere. LLVM_LIT_TOOLS_DIR: pad het pad naar GnuWin32 tools voor tests. Geldig op Windows host. Standaard wordt de lege tekenreeks gebruikt, in welk geval lit zal zoeken naar Hulpmiddelen die nodig zijn voor tests(bijvoorbeeldgrep
,sort
, enz.) in uw % PATH%. Als GnuWin32 niet in uw % PATH% staat, dan kunt u deze variabele instellen op de GnuWin32 directory, zodat u hulpmiddelen kunt vinden die nodig zijn voor tests in die directory. LLVM_ENABLE_FFI: BOOL geeft aan of de LLVM Interpreter zal worden gekoppeld aan de Foreign FunctionInterface library (libffi) om externe functies aan te roepen.Als de bibliotheek of zijn headers zijn geïnstalleerd in een aangepaste locatie, kunt u ook de variabelen FFI_INCLUDE_DIR enffi_library_dir instellen op de mappen waar ffi.h en libffi.so kan worden gevonden,respectievelijk. Standaard uitgeschakeld. LLVM_EXTERNAL_{CLANG, LLD, POLLY}_SOURCE_DIR: PATH deze variabelen specificeren het pad naar de bronmap voor de externalLLVM projecten Clang, lld, en Polly, respectievelijk, relatief aan de top-levelsource directory. Als de in-tree subdirectory voor een extern project bestaat (bijvoorbeeld llvm/tools / clang voor Clang), dan zal de overeenkomstige variable niet worden gebruikt. Als de variabele voor een extern project niet wijst naar een geldig pad, dan zal dat project niet worden gebouwd. LLVM_ENABLE_PROJECTEN:STRING puntkomma-gescheiden lijst van projecten te bouwen, of alle voor het bouwen van alle (clang, libcxx, libcxxabi, lldb, compiler-rt, lld, polly, etc) projecten.Deze vlag gaat ervan uit dat projecten naast elkaar worden uitgecheckt en niet worden genest,dat wil zeggen dat clang parallel moet zijn aan llvm in plaats van genest in llvm/tools.Deze functie maakt het mogelijk om een build voor alleen LLVM en een andere voor clang+LLVM met behulp van dezelfde bron checkout.De volledige lijst is:clang;clang-tools-extra;compiler-rt;debuginfo-tests;libc;libclc;libcxx;libcxxabi;libunwind;lld;lldb;openmp;parallel-libs;polly;pstl
LLVM_EXTERNAL_PROJECTS: STRING puntkomma-gescheiden lijst van aanvullende externe projecten te bouwen als onderdeel van LLVM. Voor elk project moet LLVM_EXTERNAL_<naam>_SOURCE_DIR worden gespecificeerd met het pad voor de broncode van het project. Voorbeeld:
-DLLVM_EXTERNAL_PROJECTS="Foo;Bar"-DLLVM_EXTERNAL_FOO_SOURCE_DIR=/src/foo-DLLVM_EXTERNAL_BAR_SOURCE_DIR=/src/bar
. LLVM_USE_OPROFILE: BOOL maakt ondersteuning voor bouwprofiel JIT mogelijk. Standaard uitgeschakeld. LLVM_PROFDATA_FILE: pad pad naar een profdata bestand om door te geven naar clang ‘ s-fprofile-instr-use vlag. Dit kan alleen worden gespecificeerd als je met clang bouwt. LLVM_USE_INTEL_JITEVENTS: BOOL enable building ondersteuning voor Intel JIT Events API. Standaard uitgeschakeld. LLVM_ENABLE_LIBPFM: Bool schakel bouwen met libpfm in om hardware teller metingen in LLVMtools te ondersteunen.Standaard aan. LLVM_USE_PERF: BOOL enable building ondersteuning voor Perf (linux profiling tool) JIT ondersteuning. Standaard uitgeschakeld. LLVM_ENABLE_ZLIB: Bool schakel bouwen met zlib in om compressie/decompressie in LLVM-gereedschappen te ondersteunen.Standaard aan. LLVM_ENABLE_DIA_SDK: BOOL inschakelen bouwen met MSVC DIA SDK voor PDB debugging Ondersteuning. Alleen verkrijgbaar met MSVC. Standaard aan. LLVM_USE_SANITIZER: STRING Definieer de sanitizer gebruikt om LLVM binaire bestanden en tests te bouwen. Mogelijke waardesareAddress
,Memory
,MemoryWithOrigins
,Undefined
,Thread
,DataFlow
, enAddress;Undefined
. Standaard lege tekenreeks. LLVM_UBSAN_LAGS:STRING definieert de set compile flags die gebruikt worden om UBSan in te schakelen. Alleen gebruikt alsLLVM_USE_SANITIZER
Undefined
bevat. Dit kan worden gebruikt om de standaardset UBSan-vlaggen te overschrijven. LLVM_ENABLE_LTO: STRING voeg-flto
of-flto=
vlaggen toe aan de compile en link commandlines, waardoor link-time optimalisatie mogelijk wordt. Mogelijke waarden zijnOff
,On
,Thin
enFull
. Standaard uitgeschakeld. LLVM_USE_LINKER: tekenreeks-fuse-ld={name}
toevoegen aan de verwijzing. De mogelijke waarde hangt af van uw compiler, voor clang kan de waarde een absoluut pad naar uw customlinker zijn, anders zal clang de naam voorvoegen metld.
en zijn usualsearch toepassen. Om LLVM bijvoorbeeld te koppelen aan de Gold linker, kan cmake worden opgeroepen met-DLLVM_USE_LINKER=gold
. LLVM_ENABLE_LIBCXX: BOOL als de host compiler en linker de stdlib vlag ondersteunt, -stdlib=libc++ is toegevoegd aan aanroepingen van beide, zodat het project is gebouwd met libc++in plaats van stdlibc++. Standaard uitgeschakeld. LLVM_STATIC_LINK_CXX_STDLIB: bool statisch koppelen aan de C++ Standaard bibliotheek indien mogelijk. Dit gebruikt de vlag”-static-libstdc++”, maar een Clang host compiler zal statisch linken naar libc++indien gebruikt in combinatie met de vlag LLVM_ENABLE_LIBCXX. Standaard uitgeschakeld. LLVM_ENABLE_LLD:BOOL deze optie is gelijk aan -DLLVM_USE_LINKER = lld, behalve tijdens een 2-stagebuild waar een afhankelijkheid wordt toegevoegd van de eerste fase naar de tweede zodat lld wordt gebouwd voordat stage2 begint. LLVM_PARALLEL_COMPILE_JOBS: STRING definieert het maximum aantal gelijktijdige compilatietaken. LLVM_PARALLEL_LINK_JOBS: STRING definieert het maximum aantal gelijktijdige link-taken. LLVM_EXTERNALIZE_DEBUGINFO: BOOL genereert dSYM-bestanden en strip uitvoerbare bestanden en bibliotheken (alleen Darwin).Standaard uitgeschakeld. LLVM_USE_CRT_{target}: STRING op Windows, vertelt welke versie van de C runtime library (CRT) gebruikt moet worden.Bijvoorbeeld,- DLLVM_USE_CRT_RELEASE = MT zou de CRT statisch koppelen aan de hulpprogramma ‘ s en bibliotheek. LLVM_INTEGRATED_CRT_ALLOC: pad
op Windows, maakt het inbedden van een andere C runtime allocator in de LLVMtools en bibliotheken mogelijk. Met behulp van een lock-free allocator, zoals de hieronder vermelde verlaagt thinlto link tijd met ongeveer een orde van grootte. Het verbetert ook Clang bouwtijden, met ongeveer 5-10%. Op dit moment worden rpmalloc,snmalloc en mimalloc ondersteund. Gebruik het pad naar git clone om de respectievelijke allocator te selecteren, bijvoorbeeld:
$ D:\git> git clone https://github.com/mjansson/rpmalloc$ D:\llvm-project> cmake ... -DLLVM_INTEGRATED_CRT_ALLOC=D:\git\rpmalloc
deze vlag moet worden gebruikt samen met de statische CRT, dat wil zeggen. als de release target wordt gebouwd, voeg dan -DLLVM_USE_CRT_RELEASE = MT toe.
LLVM_BUILD_DOCS: BOOL voegt alle ingeschakelde documentatiedoelen (dwz doxgyen en Sphinx-doelen) toe als afhankelijkheden van de standaard build-doelen. Dit resulteert in alle (ingeschakelde) documentatiedoelen als onderdeel van een normale build. Als hetinstall
doel wordt uitgevoerd, kunnen ook alle gebouwde documentatiedoelen worden geïnstalleerd. Standaard uitgeschakeld. Om een bepaald documentatiedoel in te schakelen, zie LLVM_ENABLE_SPHINX en LLVM_ENABLE_DOXYGEN. LLVM_ENABLE_DOXYGEN: BOOL maakt het genereren van browseerbare HTML-documentatie met behulp van doxygen.Standaard uitgeschakeld. LLVM_ENABLE_DOXYGEN_QT_HELP: BOOL maakt het genereren van een Qt gecomprimeerd Help-bestand mogelijk. Standaard uitgeschakeld.Dit heeft invloed op het make-doeldoxygen-llvm
. Indien ingeschakeld, zal dit, afgezien van de normale HTML-uitvoer gegenereerd door doxygen, een QCH-bestand met de naamorg.llvm.qch
produceren. U kunt dit bestand vervolgens in Qt Creator Laden.Deze optie is alleen nuttig in combinatie met-DLLVM_ENABLE_DOXYGEN=ON
; anders heeft dit geen effect. LLVM_DOXYGEN_QCH_FILENAME: STRING de bestandsnaam van het QT gecomprimeerde Help-bestand dat zal worden gegenereerd wanneer-DLLVM_ENABLE_DOXYGEN=ON
en-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
worden gegeven. Standaardwaardeorg.llvm.qch
.Deze optie is alleen nuttig in combinatie met-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; anders heeft het geen effect. LLVM_DOXYGEN_QHP_NAMESPACE: STRING Namespace waaronder het tussenliggende Qt Help Projectbestand leeft. Zie QtHelp project voor meer informatie. Standaard is ” org.llvm”. Deze optie is alleen nuttig in combinatie met-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; anders heeft het geen effect. LLVM_DOXYGEN_QHP_CUST_FILTER_NAME: STRING zie Qt Help Project voor meer informatie. Standaard wordt de cmake variabele
${PACKAGE_STRING}
gebruikt, die een combinatie is van de pakketnaam en de versiestring. Dit filter kan vervolgens in Qt Creator worden gebruikt om alleen documentatie van LLVM te selecteren wanneer u door alle help-bestanden bladert die u mogelijk hebt geladen. Deze optie is alleen nuttig in combinatie met-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
;anders heeft ze geen effect. LLVM_DOXYGEN_QHELPGENERATOR_PATH: teken het pad naar hetqhelpgenerator
uitvoerbare bestand. De standaardwaarde is wat cmake ‘ sfind_program()
kunnen vinden. Deze optie is alleen nuttig in combinatie met-DLLVM_ENABLE_DOXYGEN_QT_HELP=ON
; anders heeft het geen effect. LLVM_DOXYGEN_SVG: Bool gebruikt .svg-bestanden in plaats van .png-bestanden voor grafieken in de Doxygen-uitvoer.Standaard uitgeschakeld. LLVM_INSTALL_DOXYGEN_HTML_DIR: teken het pad om Doxygen-gegenereerde HTML-documentatie te installeren. Dit pad kan absoluut of relatief zijn ten opzichte van de CMAKE_INSTALL_PREFIX. Standaardwaarden toshare/doc/llvm / doxygen-html. LLVM_ENABLE_SPHINX: BOOL indien gespecificeerd, zal CMake zoeken naar hetsphinx-build
uitvoerbare bestand en zal deSPHINX_OUTPUT_HTML
enSPHINX_OUTPUT_MAN
cmake opties beschikbaar maken.Standaard uitgeschakeld. SPHINX_EXECUTABLE: teken het pad naar hetsphinx-build
uitvoerbare bestand gedetecteerd door CMake.Voor installatie instructies, ziehttps://www.sphinx-doc.org/en/master / usage / installation.html SPHINX_OUTPUT_HTML: BOOL Indien ingeschakeld (enLLVM_ENABLE_SPHINX
is ingeschakeld) dan worden de doelen voor het bouwen van de documentatie als html toegevoegd (maar niet standaard gebouwd tenzijLLVM_BUILD_DOCS
is ingeschakeld). Er is een doel voor elk project in de bronnenboom die sphinx gebruikt (bijvoorbeelddocs-llvm-html
,docs-clang-html
endocs-lld-html
). Standaard aan. SPHINX_OUTPUT_MAN: BOOL Indien ingeschakeld (enLLVM_ENABLE_SPHINX
is ingeschakeld) worden de doelen voor het bouwen van de manpages toegevoegd (maar niet standaard gebouwd tenzijLLVM_BUILD_DOCS
is ingeschakeld). Momenteel is het enige toegevoegde doeldocs-llvm-man
. Defaultsto ON. SPHINX_WARNINGS_AS_RORS:BOOL Indien ingeschakeld zullen sphinx documentatiewaarschuwingen als fouten worden behandeld. Standaard aan. LLVM_INSTALL_SPHINX_HTML_DIR: teken het pad om Sphinx-gegenereerde HTML-documentatie te installeren. Dit pad kan absoluut of relatief zijn ten opzichte van de CMAKE_INSTALL_PREFIX. Standaardwaarden voor share / doc / llvm / html. LLVM_INSTALL_OCAMLDOC_HTML_DIR: teken het pad om OCAMLDOC-gegenereerde HTML-documentatie te installeren. Dit pad kan absoluut of relatief zijn ten opzichte van de CMAKE_INSTALL_PREFIX. Standaardwaarden voor share/doc/llvm / OCaml-html. LLVM_CREATE_XCODE_TOOLCHAIN: alleen BOOL macOS: Indien ingeschakeld zal CMake een doel genereren met de naam’Install-xcode-toolchain’. Dit doel zal een map aanmaken op$CMAKE_INSTALL_PREFIX / Toolchains die een xctoolchain map bevat die kan worden gebruikt om de standaard systeem gereedschappen te overschrijven. LLVM_BUILD_LLVM_DYLIB: BOOL Indien ingeschakeld, wordt het doel voor het bouwen van de gedeelde libllvm-bibliotheek toegevoegd.Deze bibliotheek bevat alle componenten van LLVM in één gedeelde bibliotheek.Standaard uitgeschakeld. Dit kan niet gebruikt worden in combinatie met BUILD_SHARED_LIBS.Hulpmiddelen worden alleen gekoppeld aan de gedeelde libllvm-bibliotheek als LLVM_LINK_LLVM_DYLIBis ook aan staat.De componenten in de bibliotheek kunnen worden aangepast door Llvm_dylib_componentin te stellen op een lijst van de gewenste componenten.Deze optie is niet beschikbaar op Windows. LLVM_LINK_LLVM_DYLIB: BOOL indien ingeschakeld zullen hulpmiddelen worden gekoppeld aan de gedeelde libllvm-bibliotheek. Defaultsto OFF. Het instellen van LLVM_LINK_LLVM_DYLIB op ON zet ook LLVM_BUILD_LLVM_DYLIBto op.Deze optie is niet beschikbaar op Windows. BUILD_SHARED_LIBS: Bool
vlag die aangeeft of elk LLVM-component (bijvoorbeeld ondersteuning) is gebouwd als een gedeelde bibliotheek (aan) of als een statische bibliotheek (uit). De standaardwaarde is uitgeschakeld. Op Windows kunnen gedeelde bibliotheken worden gebruikt bij het bouwen met MinGW, inclusief MinGW-w64, maar niet bij het bouwen met de Microsoft toolchain.
Note
BUILD_SHARED_LIBS wordt alleen aanbevolen voor gebruik door LLVM-ontwikkelaars.Als u LLVM als een gedeelde bibliotheek wilt bouwen, moet u de optieLLVM_BUILD_LLVM_DYLIB
gebruiken.
LLVM_OPTIMIZED_TABLEGEN: Bool Indien ingeschakeld en het bouwen van een debug of asserts build zal het cmake build systeem een Release build tree genereren om een volledig geoptimaliseerde tablegen te bouwen voor gebruik tijdens de build. Als u deze optie inschakelt, kunt u de bouwtijd aanzienlijk versnellen, met name bij het bouwen van LLVM in Debugconfiguraties. LLVM_REVERSE_ITERATION: BOOL Indien ingeschakeld, zouden alle ondersteunde ongeordende llvm containers in omgekeerde volgorde worden herhaald. Dit is nuttig voor het blootleggen van niet-determinisme veroorzaakt dooriteratie van ongeordende containers. LLVM_BUILD_INSTRUMENTED_COVERAGE: Bool Indien ingeschakeld, bron-gebaseerde code coverage instrumentationis ingeschakeld tijdens het bouwen van llvm. LLVM_CCACHE_BUILD: BOOL Indien ingeschakeld en hetccache
programma beschikbaar is, zal LLVM worden gebouwd metccache
om het opnieuw opbouwen van LLVM en zijn componenten te versnellen.Standaard uitgeschakeld. De grootte en locatie van de cache die wordt onderhouden doorccache
kan worden aangepast via de LLVM_CCACHE_MAXSIZE en LLVM_CCACHE_DIRoptions, die worden doorgegeven aan de ccache_maxsize en CCACHE_DIR omgevingsvariables, respectievelijk. LLVM_FORCE_USE_OLD_TOOLCHAIN: BOOL Indien ingeschakeld, zullen de compiler en standaard library versies niet worden gecontroleerd. Llvmmmay niet compileren op alle, of kan mislukken tijdens runtime als gevolg van bekende bugs in de toolchains. LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN:BOOL Indien ingeschakeld, zal de compiler versie controle alleen waarschuwen bij het gebruik van een toolchain die op het punt staat verouderd te worden, in plaats van het uitzenden van een fout. LLVM_USE_NEWPM: BOOL indien ingeschakeld, gebruik de experimentele nieuwe pass manager. LLVM_ENABLE_BINDINGS: BOOL indien uitgeschakeld, probeer dan niet om de OCaml and go bindingen te bouwen. LLVM_ENABLE_Z3_SOLVER: BOOL Indien ingeschakeld, wordt de Z3 constraint solver geactiveerd voor de Clang statische analyzer.Een recente versie van de Z3 bibliotheek moet beschikbaar zijn op het systeem. LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO: BOOL herschrijven absolute bron paden in debug info naar relatieve degenen. Het bronvoorvoegsel kan worden aangepast via de LLVM_SOURCE_PREFIX variabele. LLVM_USE_RELATIVE_PATHS_IN_FILES: BOOL herschrijven absolute bron paden in bronnen en debug info naar relatieve degenen. Het bronvoorvoegsel kan worden aangepast via de LLVM_SOURCE_PREFIX variabele. LLVM_INSTALL_UTILS: BOOL Indien ingeschakeld, zullen hulpprogramma ‘ s zoalsFileCheck
ennot
worden geïnstalleerd in CMAKE_INSTALL_PREFIX.