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.

Sistema di compilazione principale: lavorare con SCons

Vedi anche

Questa pagina documenta come compilare godot-cpp. Se invece si desidera compilare Godot, consultare Introduzione al sistema di compilazione.

godot-cpp utilizza SCons come sistema di compilazione principale. È modellato sul sistema di compilazione di Godot <doc_compiling_index> e alcuni comandi disponibili lì sono disponibili anche nei progetti godot-cpp.

Per cominciare

Per compilare un progetto godot-cpp, in genere basta installare SCons ed eseguirlo nella cartella del progetto:

scons

Potresti voler conoscere le opzioni disponibili:

scons --help

Per ricompilare correttamente il proprio progetto, aggiungere --clean al comando di compilazione:

scons --clean

È possibile trovare ulteriori informazioni sugli argomenti comuni di SCons e sui modelli di compilazione nella Guida utente di SCons. È possibile che i singoli progetti godot-cpp abbiano aggiunto commandi in più, quindi consulta la loro documentazione specifica per ulteriori informazioni.

Configurare un IDE

La maggior parte degli IDE può utilizzare un file compile_commands.json per interpretare un progetto C++. È possibile generarlo con godot-cpp attraverso il seguente comando:

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

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

Per ulteriori informazioni, consultare le guide di configurazione per gli IDE. Sebbene scritte per i collaboratori del motore Godot, sono ampiamente applicabili anche ai progetti godot-cpp.

Caricare la propria GDExtension in Godot

Godot carica le GDExtensions individuando i file .gdextension nella cartella del progetto. I file .gdextension servono per selezionare e caricare un binario compatibile con il computer/sistema operativo attuale.

Il template godot-cpp-template, così come la sezione Per cominciare, forniscono file .gdextension di esempio per le GDExtensions, ampiamente compatibili con molti sistemi diversi.

Compilare per più piattaforme

Le GDExtension sono progettate per funzionare su molti sistemi diversi, ognuno con binari e configurazioni di compilazione separati. Se si intende pubblicare la propria GDExtension, consigliamo di fornire i binari per tutte le configurazioni menzionate nel file godot-cpp-template .gdextension file.

Esistono due modi popolari per realizzare build multipiattaforma:

  • Strumenti di compilazione multipiattaforma

  • Integrazione continua (CI)

godot-cpp-template contiene un esempio di configurazione per un flusso di lavoro CI basato su GitHub.

Utilizzare un file API personalizzato

Ogni ramo di godot-cpp include un file API (extension_api.json) appropriato per la rispettiva versione di Godot (ad esempio, il ramo 4.3 include il file API compatibile con Godot versione 4.3 e successive).

Tuttavia, potrebbe essere desiderato utilizzare un file extension_api.json personalizzato, ad esempio:

  • Se si desidera utilizzare le API più recenti dal master di Godot.

  • Se si compila Godot autonomamente con opzioni diverse dalle build ufficiali (ad esempio, disable_3d=yes o precision=double).

  • Se si desidera utilizzare le API esposte dai moduli personalizzati.

Per utilizzare un file API personalizzato, bisogna prima generarlo dall'eseguibile Godot appropriato:

godot --dump-extension-api

Il file extension_api.json risultante sarà creato nella cartella dell'eseguibile. Per utilizzarlo, è possibile aggiungere custom_api_file al comando di compilazione:

scons platform=<platform> custom_api_file=<PATH_TO_FILE>

Alternativamente, è possibile aggiungerlo come file API predefinito al progetto aggiungendo la seguente riga al file SConstruct:

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