Motor Patata Wiki
  • Hola
  • Requisitos mínimos
  • Objetivos
  • Instalación Manual
    • Obtener el código fuente
    • Obtener las dependencias en linux
    • Obtener las dependencias en MSYS2
    • Instalación y configuración de visual studio
    • Compilación Manual
      • CMake
      • Meson
      • CMake y Visual Studio
      • Opciones de compilación
      • Macros
    • Integrando la librería en su juego
      • CMake
      • Meson
  • Instalación Automatica
  • Funciones
    • Inicialización
    • Class.Render()
Powered by GitBook
On this page
  • SDL2
  • Subproyecto
  • Instalación
  • Enlazado
  1. Instalación Manual
  2. Integrando la librería en su juego

Meson

Integración con meson

project('mygame', 'cpp', default_options : ['buildtype=release'])

sdl2_dep = dependency('sdl2', required : true)

PatataEngine_dep = subproject('patata-engine').get_variable('Patata_Engine_dep')
dependencies = [sdl2_dep, PatataEngine_dep]

executable(meson.project_name(),
  'Main.cpp',
  dependencies : dependencies,
  build_by_default : true,
  install : true,
  install_dir : join_paths(meson.global_build_root(), '../bin'),
  install_rpath : '.')

SDL2

sdl2_dep = dependency('sdl2', required : true)

SDL2 aún sigue siendo necesario para el videojuego. En un futuro no será necesario la inclusión de sdl en el binario del videojuego. Esto es así debido a que el motor está en una fase temprana del desarrollo. Así que por ahora es necesario usarlo en ambos lados, motor y juego.

Subproyecto

PatataEngine_dep = subproject('patata-engine').get_variable('Patata_Engine_dep')
dependencies = [sdl2_dep, PatataEngine_dep]

Patata_Engine_dep es el nombre de la variable para usar en la función subproject().get_variable(variable) , para usar patata como un subproyecto.

Añadir el motor como un subproyecto le permitirá enlazarse y utilizar las funciones públicas de Patata de forma sencilla.

Patata esta pensado para ser usado como subproyecto, así que debe tener una copia del código fuente en su repositorio en la carpeta subprojects. Esto puede cambiar en un futuro cuando se desarrolle la posibilidad de la instalación del motor en el sistema para desarrollar (contemplado solo en entornos UNIX o parecidos a UNIX).

Instalación

executable(meson.project_name(), 
  install : true,
  install_dir : join_paths(meson.global_build_root(), '../bin'),
  install_rpath : '.')

Esto permite su instalación en la carpeta bin y el "." En el rpath hace que el enlazado sea portable en Linux (buscara las bibliotecas en ese mismo directorio).

El uso de la carpeta bin puede ser desactivado, y, en cambio, puede establecer su ruta personalizada, desactivando el directorio bin, y pasando el directorio deseado através de un prefix en meson.

Se recomienda que realice la instalación ya sea en bin o en una ruta personalizada, esta instalación solo proporciona los ejecutables y otros archivos necesarios para la distribución o funcionamiento del motor, dejando atrás las carpetas y archivos de compilación y configuración de este mismo.

Enlazado

dependencies = [sdl2_dep, Patata_Engine_dep]

Creamos una variable que contenga las dependencias que vamos a usar cuando ya tengas las dependencias declaradas.

executable(meson.project_name(),  
  dependencies : dependencies)

Esa variable se pasa a la función executable() en el argumento dependencies, y así se enlaza el motor con su videojuego.

PreviousCMakeNextInstalación Automatica

Last updated 1 year ago