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.
Checking the stable version of the documentation...
Основна система збірки: Робота з 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"