Compilar para macOS
Última actualización en Septiembre 8, 2022
Lee la guía general de compilación para obtener información sobre las dependencias necesarias para todas las plataformas. Esto incluirá las variables de entorno necesarias para personalizar la compilación. En este documento sólo encontrarás instrucciones específicas para macOS.
Prerrequisitos
CMake, OpenSSL, y NPM
Homebrew es un excelente gestor de paquetes para macOS. Él hace que la instalación de dependencias para Overte se simplifique.
brew install cmake openssl npm
Nota: Si lo necesitas, puedes descargar otras versiones de CMake desde Github.
Python 3
Descarga e instala Python 3.6.6 o superior desde aquí. Ejecute el script Update Shell Profile.command que se proporciona con el instalador.
macOS SDK
Necesitarás la versión 10.12 del SDK de macOS para la compilación, de lo contrario, es posible que se produzcan fallos u otros problemas imprevistos debido a la obsolescencia de OpenGL en macOS. Puedes obtener ese SDK desde aquí. Debes copiarlo en tu directorio SDK de Xcode, por ejemplo.
cp -rp ~/Downloads/MacOSX10.12.sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/
OpenSSL
Suponiendo que ha instalado OpenSSL siguiendo las instrucciones anteriores de Homebrew , deberá configurar OPENSSL_ROOT_DIR para que CMake pueda encontrar sus instalaciones. Para OpenSSL instalado a través de Homebrew, configura OPENSSL_ROOT_DIR mediante export OPENSSL_ROOT_DIR=/usr/local/opt/openssl o añadiendo -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl a cmake.
Generar y Compilar
Puede seleccionar entre usar Unix Makefiles o Xcode.
Xcode
Puede pedirle a CMake que genere archivos de proyecto Xcode en lugar de Makefiles de Unix utilizando el parámetro -G Xcode después de CMake. Primero deberá seleccionar la instalación de Xcode en el terminal si aún no lo ha hecho.
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
cmake ../ -DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -G Xcode -DOSX_SDK=10.12 ..
Después de ejecutar CMake, dispondrá de los archivos make o del archivo de proyecto Xcode necesarios para compilar todos los componentes. Abra el archivo overte.xcodeproj, seleccione ALL_BUILD en el menú Producto > Esquema (o en el menú desplegable de destinos) y haga clic en Ejecutar.
Si la compilación se completa correctamente, habrá creado objetivos de compilación para todos los componentes ubicados en los directorios build/${target_name}/Debug.
make
Ejecutar CMake.
cmake -DCMAKE_OSX_SYSROOT="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk" -DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DOSX_SDK=10.12 ..
Puede añadir -j4 para asignar más subprocesos a la compilación. El número indica el número de subprocesos, por ejemplo, 4.
Para empaquetar la instalación, puede ejecutar make package.
PREGUNTAS FRECUENTES
Problema: Al ejecutar el esquema
interface.app» desde Xcode se produce un fallo en Interface relacionado conlibgl.Causa: El objetivo
glgenera un binario llamadolibgl. En su lugar, Xcode carga un elementolibGL.frameworkde macOS.Solución: En la configuración de destino de Xcode para
libgl, configure la versión en1.0.0.
Problema: CMake indica que falta Python 3.
Causa: CMake podría estar desactualizado.
Solución: Intenta actualizar tu binario de CMake con el comando
brew upgrade cmakeo descargando y ejecutando un instalador de CMake más reciente, según cómo lo hayas instalado originalmente. Ten en cuenta las versiones recomendadas de CMake mencionadas anteriormente.