Clause
← Уся документація

Перекладено з англійського оригіналу · 06042fa · 2026-10-09 · Читати англійською

Початок роботи

Вимоги:

У macOS:

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

У Windows встановіть LLVM/Clang глобально для інструментів компілятора хоста. Встановіть робоче навантаження Visual Studio Desktop development with C++ і Windows SDK, а також Ninja. Використовуйте командний рядок x64 Native Tools або Developer PowerShell, налаштований для x64, з clang-cl, cmake і ninja у PATH. CMake перевіряє ABI MSVC, компонування з Windows SDK і підтримку std::expected з C++23. Самі лише інструменти командного рядка LLVM не містять потрібного C++ SDK; CMake завантажує його окремо, коли LLVMConfig.cmake і відповідних бібліотек немає.

CMake під час першого використання завантажує Boost 1.90.0 і toml++ 3.4.0 до ігнорованого каталогу thirdparty/, перевіряє їхні контрольні суми SHA-256 і зберігає як архіви, так і розпаковані вихідні коди. Подальші конфігурування, зокрема в нових каталогах збирання, повторно використовують ці файли без доступу до мережі. Видалення build/ не видаляє залежностей. Коли власний стек TLS у CMake не може перевірити сертифікати (наприклад, CMake, що постачається разом зі Strawberry Perl), завантаження повторюються через curl хоста і все одно перевіряються. Збирання лише runtime завантажують тільки Boost. Явно задані корені залежностей, описані нижче, мають пріоритет і дозволяють налаштування без мережі; недійсний явний корінь призводить до помилки без завантаження. Linux і macOS і далі використовують встановлені залежності або локальні вихідні коди в thirdparty/. Запасне завантаження SDK LLVM працює на всіх трьох платформах, з офіційними архівами, зафіксованими за SHA-256, для Windows x64/ARM64, Linux x64/ARM64 і macOS ARM64. Архіви та розпаковані SDK лишаються в thirdparty/ для повторного використання без мережі. Інші архітектури хоста і крос-збирання потребують явно заданого відповідного LLVM_DIR.

Для збирання компілятора залежності LLVM zlib і zstd виявляються серед встановлених бібліотек. У Windows за відсутності бібліотек виконується завантаження zlib 1.3.2 і zstd 1.5.7 з перевіркою SHA-256, після чого вони статично збираються в конфігураціях Debug/Release у thirdparty/. Ці збирання повторно використовуються в різних каталогах збирання і відповідають компілятору, архітектурі та CRT хоста. Задайте ZLIB_ROOT або zstd_ROOT, щоб надати перевагу встановленій бібліотеці; CLAUSE_DOWNLOAD_ZLIB=OFF і CLAUSE_DOWNLOAD_ZSTD=OFF вимикають відповідні запасні варіанти. Виявлення SDK MSVC відхиляє кешовані бібліотеки MinGW .a, як-от ті, що постачаються зі Strawberry Perl. Linux і macOS використовують встановлені пакети для розробки.