Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Основна система збірки: Робота з SCons

Дивись також

На цій сторінці описано, як скомпілювати godot-cpp. Якщо ви хочете скомпілювати Godot самостійно, дивіться Знайомство з системою побудови.

godot-cpp використовує SCons як свою основну систему збірки. Вона змодельована за зразком системи збірки Godot, і деякі команди, доступні там, також доступні в проектах godot-cpp.

Перші кроки

Щоб зібрати проєкт godot-cpp, зазвичай достатньо встановити SCons та просто запустити його в каталозі проєкту:

скони

Можливо, ви захочете дізнатися про доступні опції:

scons --help

Щоб повністю перезбрати ваш проект, додайте --clean до вашої команди збірки:

scons --clean

Більше інформації про поширені аргументи SCons та шаблони збірки можна знайти в Посібнику користувача SCons. Окремі проекти godot-cpp можуть додавати додаткові команди, тому зверніться до їхньої конкретної документації для отримання додаткової інформації.

Налаштування IDE

Більшість IDE можуть використовувати файл compile_commands.json для розуміння проекту C++. Ви можете згенерувати його за допомогою godot-cpp, використовуючи таку команду:

# Generate compile_commands.json while compiling.
scons compiledb=yes

# Generate compile_commands.json without compiling.
scons compiledb=yes compile_commands.json

Для отримання додаткової інформації, будь ласка, ознайомтеся з посібниками з налаштування IDE. Хоча вони написані для розробників рушія Godot, вони також значною мірою застосовні до проектів godot-cpp.

Завантаження вашого GDExtension у Godot

Godot завантажує GDExtensions, знаходячи файли .gdextension у каталозі проекту. Файли .gdextension використовуються для вибору та завантаження бінарного файлу, сумісного з поточним комп'ютером/операційною системою.

Шаблон godot-cpp-template, а також розділ Початок роботи надають приклади файлів .gdextension для GDExtensions, які широко сумісні з багатьма різними системами.

Створення для кількох платформ

Очікується, що GDExtensions працюватимуть на багатьох різних системах, кожна з яких має окремі бінарні файли та конфігурації збірки. Якщо ви плануєте опублікувати своє GDExtension, ми рекомендуємо вам надати бінарні файли для всіх конфігурацій, згаданих у файлі godot-cpp-template .gdextension.

Існує два популярних способи кросплатформної збірки:

  • Інструменти для кросплатформної збірки

  • Безперервна інтеграція (БІ)

godot-cpp-template містить приклад налаштування для робочого процесу неінтегрованої інтеграції на базі GitHub.

Використання власного файлу API

Кожна гілка godot-cpp постачається з файлом API (extension_api.json), відповідним для відповідної версії Godot (наприклад, гілка 4.3 постачається з файлом API, сумісним з версією Godot 4.3 та пізнішими версіями).

Однак, ви можете використовувати власний extension_api.json, наприклад:

  • Якщо ви хочете використовувати найновіші API від Godot master.

  • Якщо ви збираєте Godot самостійно з іншими параметрами, ніж в офіційних збірках (наприклад, disable_3d=yes або precision=double).

  • Якщо ви хочете використовувати API, що надаються користувацькими модулями.

Щоб використовувати власний файл API, спочатку потрібно згенерувати його з відповідного виконуваного файлу Godot:

godot --dump-extension-api

Отриманий файл extension_api.json буде створено в каталозі виконуваного файлу. Щоб використовувати його, ви можете додати custom_api_file до вашої команди збірки:

scons platform=<platform> custom_api_file=<PATH_TO_FILE>

Або ж ви можете додати його як файл API за замовчуванням до свого проєкту, додавши наступний рядок до файлу SConstruct:

localEnv["custom_api_file"] = "extension_api.json"