Información general sobre la generación del programa
Última actualización el 2025-03-17
Guías de generación específicas para el sistema operativo
Build Windows - Instrucciones para Windows.
Build Linux - Instrucciones adicionales para Linux.
Build OSX - Instrucciones adicionales para OS X.
Build Android - Instrucciones adicionales para Android.
Dependencias
Dependencias de Conan
La mayoría de nuestras dependencias se obtienen y construyen automáticamente usando Conan. Consulte el archivo conanfile.py para obtener una lista completa de las dependencias.
CMake
Overte utiliza CMake para generar archivos de compilación y archivos de proyecto para su plataforma.
Conan
Overte utiliza conan para descargar y construir dependencias. Conan se puede descargar desde aquí: https://conan.io/downloads
Consulte el archivo conanfile.py para obtener una lista completa de las dependencias.
La construcción de las dependencias puede ser larga y los archivos resultantes se almacenarán en tu directorio personal. Para moverlos a una ubicación diferente, puede establecer la variable CONAN_HOME a cualquier carpeta donde desee instalar las dependencias.
Linux:
export CONAN_HOME=/path/to/directory
Windows:
set CONAN_HOME=/path/to/directory
Donde /ruta/a/directorio es la ruta al directorio donde desea que se almacenen los archivos de compilación.
Generando los archivos de compilación
Posibles variables de entorno
// The Interface will have a custom default home and startup location.
PRELOADED_STARTUP_LOCATION=Location/IP/URL
// The Interface will have a custom default script whitelist, comma separated, no spaces.
// This will also activate the whitelist on Interface's first run.
PRELOADED_SCRIPT_WHITELIST=ListOfEntries
// Code-signing environment variables must be set during runtime of CMake AND globally when the signing takes place.
HF_PFX_FILE=Path to certificate
HF_PFX_PASSPHRASE=Passphrase for certificate
// Determine if to utilize testing or stable directory services URLs
USE_STABLE_GLOBAL_SERVICES=1
BUILD_GLOBAL_SERVICES=STABLE
Posible variables CMake
// The URL to post the dump to.
OVERTE_BACKTRACE_URL
// The identifying tag of the release.
OVERTE_BACKTRACE_TOKEN
// The release version, e.g., 2021.3.2. For PR builds the PR number, e.g. 577.
// Not used for nightlies and development builds.
OVERTE_RELEASE_NUMBER
// The build commit, e.g., use a Git hash for the most recent commit in the branch - fd6973b.
OVERTE_GIT_COMMIT_SHORT
// The type of release.
OVERTE_RELEASE_TYPE=PRODUCTION|PR|NIGHTLY|DEV
Generar Archivos
conan install . -s build_type=Release -b missing -of build
cmake --preset conan-release
Si CMake te da el mismo mensaje de error después de que falle la compilación, intenta eliminar CMakeCache.txt.
Encontrando dependencias
Lo siguiente aplica para las dependencias que no se puedan obtener con Conan.
Puede modificar la búsqueda de módulos de CMake apuntando e la versión correcta de las dependencias. Para ello configurar una de las siguientes tres variables.
En los ejemplos siguientes, la variable $NAME se sustituiría por el nombre de la dependencia en mayúsculas, y $name se sustituiría por el nombre de la dependencia en minúsculas (por ejemplo: OPENSSL_ROOT_DIR, openssl).
$NAME_ROOT_DIR - pasa esta variable a Cmake con la bandera -DNAME_ROOT_DIR= para generar los archivos de compilación
$NAME_ROOT_DIR - configura esta variable en ENV
HIFI_LIB_DIR - configura esta variable en ENV para apuntar al directorio lib de Overte, debe contener un nombre de directorio '$name'
Componentes Opcionales
Opciones de Compilación
Se pueden utilizar las siguientes opciones de compilación al ejecutar CMake
OVERTE_BUILD_CLIENT
OVERTE_BUILD_SERVER
OVERTE_BUILD_TESTS
OVERTE_BUILD_TOOLS
Opciones de Compilación del Desarrollador
OVERTE_RENDERING_BACKEND
OVERTE_DISABLE_QML
Dispositivos
Puede soportar dispositivos de entrada/salida externos como Leap Motion, MIDI, etc. añadiendo cada SDK en la ruta de construcción. Consulte el archivo readme disponible en cada carpeta de dispositivo en interface/external/ para la explicación detallada de los requisitos para utilizar el dispositivo.