Compilando para macOS¶
Nota
Esta página describe cómo compilar el editor y las plantillas de exportación de macOS desde el código fuente. Si estás buscando exportar tu proyecto a macOS, lee Exportando para macOS.
Requerimientos¶
Para compilar en macOS, se requiere lo siguiente:
SCons 3.0+ sistema de compilación.
Xcode (o las herramientas de línea de comandos más ligeras para Xcode).
Opcional - yasm (para optimizaciones SIMD de WebM).
Nota
Si tienes Homebrew instalado, puedes instalar SCons y yasm fácilmente utilizando el siguiente comando:
brew install scons yasm
La instalación de Homebrew también descargará automáticamente las Command Line Tools para Xcode si aún no las tienes.
De manera similar, si tienes MacPorts instalado, puedes instalar SCons y yasm fácilmente utilizando el siguiente comando:
sudo port install scons yasm
Ver también
Para obtener el código fuente de Godot para compilarlo, consulta la sección Consiguiendo el código fuente.
Para obtener una visión general del uso de SCons para Godot, consulta la sección Introducción al sistema de compilación.
Compilando¶
Para comenzar, abre una terminal y ve al directorio raíz del código fuente del motor (game engine).
Para compilar para Macs con procesadores Intel (x86-64), utiliza el siguiente comando:
scons platform=osx arch=x86_64
Para compilar para Macs con procesadores Apple Silicon (ARM64), utiliza el siguiente comando:
scons platform=osx arch=arm64
Para admitir ambas arquitecturas en un único archivo binario "Universal 2", ejecuta los dos comandos anteriores y luego utiliza lipo
para combinarlos juntos:
lipo -create bin/godot.osx.tools.x86_64 bin/godot.osx.tools.arm64 -output bin/godot.osx.tools.universal
Si todo va bien, el archivo binario ejecutable resultante se ubicará en el subdirectorio bin/
. Este archivo ejecutable contiene todo el motor y se ejecuta sin ninguna dependencia. Al ejecutarlo, se abrirá el administrador de proyectos.
Nota
Si deseas utilizar configuraciones de editor separadas para tus propias compilaciones de Godot y las versiones oficiales, puedes habilitar Modo autónomo creando un archivo llamado ._sc_
o _sc_
en la carpeta bin/
.
Para crear un paquete .app
como en las compilaciones oficiales, necesitas utilizar la plantilla ubicada en misc/dist/osx_tools.app
. Por lo general, para construir un binario del editor optimizado con target=release_debug
:
cp -r misc/dist/osx_tools.app ./Godot.app
mkdir -p Godot.app/Contents/MacOS
cp bin/godot.osx.opt.tools.universal Godot.app/Contents/MacOS/Godot
chmod +x Godot.app/Contents/MacOS/Godot
Compilación de una versión sin interfaz / para servidor¶
Para compilar una versión headless que proporciona funcionalidad de editor para exportar proyectos de manera automatizada, usa:
scons platform=server tools=yes target=release_debug
Para compilar una versión servidor con depuración que se puede utilizar con herramientas de depuración remota, utiliza:
scons platform=server tools=no target=release_debug
Para compilar una versión de servidor release que esté optimizada para ejecutar servidores de juego dedicados, utiliza el siguiente comando:
scons platform=server tools=no target=release
Construyendo plantillas de exportación¶
Para compilar las plantillas de exportación para macOS, debes compilar con tools=no
(sin editor) y, respectivamente, usar target=release
(plantilla de lanzamiento) o target=release_debug
(plantilla de lanzamiento con depuración) dependiendo de tus necesidades.
Las plantillas oficiales son binarios universales que admiten las arquitecturas tanto de Intel x86_64 como ARM64. También puedes crear plantillas de exportación que admitan solo una de esas dos arquitecturas omitiendo el paso de lipo
que se menciona a continuación.
Para Intel x86_64:
scons platform=osx tools=no target=release arch=x86_64 scons platform=osx tools=no target=release_debug arch=x86_64
Para ARM64 (Apple M1):
scons platform=osx tools=no target=release arch=arm64 scons platform=osx tools=no target=release_debug arch=arm64
Para admitir ambas arquitecturas en un único archivo binario "Universal 2", ejecuta los dos bloques de comandos anteriores y luego utiliza lipo
para combinarlos juntos:
lipo -create bin/godot.osx.opt.x86_64 bin/godot.osx.opt.arm64 -output bin/godot.osx.opt.universal
lipo -create bin/godot.osx.opt.debug.x86_64 bin/godot.osx.opt.debug.arm64 -output bin/godot.osx.opt.debug.universal
Para crear un paquete .app
como en las compilaciones oficiales, debes utilizar la plantilla ubicada en misc/dist/osx_template.app
. Las compilaciones de lanzamiento (release) y depuración (debug) deben colocarse en osx_template.app/Contents/MacOS
con los nombres godot_osx_release.64
y godot_osx_debug.64
, respectivamente. Puedes hacerlo con los siguientes comandos (asumiendo una compilación universal, de lo contrario, reemplaza la extensión .universal
con la de tus binarios específicos de arquitectura):
cp -r misc/dist/osx_template.app .
mkdir -p osx_template.app/Contents/MacOS
cp bin/godot.osx.opt.universal osx_template.app/Contents/MacOS/godot_osx_release.64
cp bin/godot.osx.opt.debug.universal osx_template.app/Contents/MacOS/godot_osx_debug.64
chmod +x osx_template.app/Contents/MacOS/godot_osx*
Luego puedes comprimir la carpeta osx_template.app
para reproducir la plantilla osx.zip
de la distribución oficial de Godot:
zip -q -9 -r osx.zip osx_template.app
Compilando para macOS desde Linux¶
Es posible compilar para macOS en un entorno Linux (y tal vez también en Windows utilizando el Subsistema de Windows para Linux). Para ello, deberás instalar OSXCross para poder utilizar macOS como destino. Primero, sigue las instrucciones para instalarlo:
Clona el repositorio OSXCross en algún lugar de tu máquina (o descarga un archivo ZIP y extráelo en algún lugar), por ejemplo:
git clone --depth=1 https://github.com/tpoechtrager/osxcross.git "$HOME/osxcross"
Sigue las instrucciones para empaquetar el SDK en el siguiente enlace: https://github.com/tpoechtrager/osxcross#packaging-the-sdk
Para instalar OSXCross, sigue las instrucciones en el siguiente enlace: https://github.com/tpoechtrager/osxcross#installation
Después de eso, necesitarás definir OSXCROSS_ROOT
como la ruta de la instalación de OSXCross (el mismo lugar donde clonaste el repositorio o extrajiste el archivo ZIP), por ejemplo:
export OSXCROSS_ROOT="$HOME/osxcross"
Ahora puedes compilar con SCons como lo harías normalmente:
scons platform=osx
Si tienes una versión de SDK de OSXCross diferente de la esperada por el sistema de construcción de SCons, puedes especificar una personalizada mediante el argumento osxcross_sdk
:
scons platform=osx osxcross_sdk=darwin15