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:

  • Python 3.5+.

  • 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"
  1. Sigue las instrucciones para empaquetar el SDK en el siguiente enlace: https://github.com/tpoechtrager/osxcross#packaging-the-sdk

  2. 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