Clause
← All dokumentation

Översatt från det engelska originalet · 06042fa · 2026-10-09 · Läs på engelska

Kom igång

Krav:

På macOS:

xcode-select --install
brew install cmake boost erlang tomlplusplus llvm@23

På Windows installeras LLVM/Clang globalt för värdens kompilatorverktyg. Installera arbetsbelastningen Desktop development with C++ i Visual Studio och en Windows SDK, samt Ninja. Använd en kommandotolk av typen x64 Native Tools eller ett Developer PowerShell konfigurerat för x64, med clang-cl, cmake och ninja i PATH. CMake kontrollerar MSVC-ABI:t, länkning mot Windows SDK och stöd för C++23 std::expected. LLVM:s kommandoradsverktyg ensamma tillhandahåller inte den C++-SDK som krävs; CMake laddar ned den separat när LLVMConfig.cmake och matchande bibliotek saknas.

CMake laddar ned Boost 1.90.0 och toml++ 3.4.0 till den ignorerade katalogen thirdparty/ vid första användning, verifierar deras SHA-256-kontrollsummor och behåller både arkiven och de uppackade källorna. Efterföljande konfigureringar, även i nya byggkataloger, återanvänder filerna utan nätverksåtkomst. Att ta bort build/ tar inte bort beroendena. När CMakes egen TLS-stack inte kan verifiera certifikat (till exempel den CMake som följer med Strawberry Perl) görs nya försök med värdens curl, och nedladdningarna verifieras ändå. Byggen med endast runtime laddar bara ned Boost. Explicita beroenderötter nedan har företräde och möjliggör uppsättning utan nätverk; en ogiltig explicit rot misslyckas utan nedladdning. Linux och macOS fortsätter att använda installerade beroenden eller lokala källor i thirdparty/. Reservnedladdningar av LLVM SDK gäller på alla tre plattformar, med officiella arkiv fastlåsta med SHA-256 för Windows x64/ARM64, Linux x64/ARM64 och macOS ARM64. Arkiv och uppackade SDK:er stannar i thirdparty/ för återanvändning utan nätverk. Andra värdarkitekturer och korsbyggen kräver en explicit matchande LLVM_DIR.

För kompilatorbyggen identifieras LLVM:s beroenden zlib och zstd från installerade bibliotek. På Windows utlöser saknade bibliotek nedladdningar av zlib 1.3.2 och zstd 1.5.7, verifierade med SHA-256, följda av statiska Debug-/Release-byggen under thirdparty/. Dessa byggen återanvänds mellan byggkataloger och matchar värdens kompilator, arkitektur och CRT. Sätt ZLIB_ROOT eller zstd_ROOT för att föredra ett installerat bibliotek; CLAUSE_DOWNLOAD_ZLIB=OFF och CLAUSE_DOWNLOAD_ZSTD=OFF stänger av respektive reservlösning. Sökningen efter MSVC-SDK avvisar cachade MinGW-bibliotek .a, som de som följer med Strawberry Perl. Linux och macOS använder installerade utvecklingspaket.