+meson_options.txt
This commit is contained in:
parent
ef877deccf
commit
1ec2581552
36
meson.build
36
meson.build
|
|
@ -8,7 +8,6 @@ project('raylib', 'c',
|
||||||
version_array = meson.project_version().split('.')
|
version_array = meson.project_version().split('.')
|
||||||
version_major = version_array[0]
|
version_major = version_array[0]
|
||||||
version_minor = version_array[1]
|
version_minor = version_array[1]
|
||||||
version_patch = version_array[2]
|
|
||||||
api_version = '@0@.@1@'.format(version_major, version_minor)
|
api_version = '@0@.@1@'.format(version_major, version_minor)
|
||||||
|
|
||||||
raylib_sources = [
|
raylib_sources = [
|
||||||
|
|
@ -32,7 +31,7 @@ graphics = get_option('graphics')
|
||||||
build_shared_libs = get_option('default_library') == 'shared'
|
build_shared_libs = get_option('default_library') == 'shared'
|
||||||
|
|
||||||
compiler_flags = []
|
compiler_flags = []
|
||||||
link_flags = []
|
link_args = []
|
||||||
dependencies = []
|
dependencies = []
|
||||||
include_dirs = ['src']
|
include_dirs = ['src']
|
||||||
defines = []
|
defines = []
|
||||||
|
|
@ -41,8 +40,8 @@ if platform == 'desktop'
|
||||||
defines += 'PLATFORM_DESKTOP'
|
defines += 'PLATFORM_DESKTOP'
|
||||||
|
|
||||||
if host_machine.system() == 'windows'
|
if host_machine.system() == 'windows'
|
||||||
dependencies += cc.find_library('winmm', required: true)
|
dependencies += dependency('winmm', required: true)
|
||||||
dependencies += cc.find_library('opengl32', required: true)
|
dependencies += dependency('opengl', required: false)
|
||||||
elif host_machine.system() == 'darwin'
|
elif host_machine.system() == 'darwin'
|
||||||
compiler_flags += '-DGL_SILENCE_DEPRECATION'
|
compiler_flags += '-DGL_SILENCE_DEPRECATION'
|
||||||
dependencies += dependency('appleframeworks', modules: ['OpenGL', 'Cocoa', 'IOKit', 'CoreVideo', 'CoreAudio'])
|
dependencies += dependency('appleframeworks', modules: ['OpenGL', 'Cocoa', 'IOKit', 'CoreVideo', 'CoreAudio'])
|
||||||
|
|
@ -99,6 +98,8 @@ if platform == 'desktop'
|
||||||
'src/external/glfw/src/posix_poll.c',
|
'src/external/glfw/src/posix_poll.c',
|
||||||
'src/external/glfw/src/posix_thread.c',
|
'src/external/glfw/src/posix_thread.c',
|
||||||
'src/external/glfw/src/posix_time.c',
|
'src/external/glfw/src/posix_time.c',
|
||||||
|
'src/external/glfw/src/linux_joystick.c',
|
||||||
|
'src/external/glfw/src/osmesa_context.c',
|
||||||
]
|
]
|
||||||
|
|
||||||
if get_option('glfw_backend') == 'x11'
|
if get_option('glfw_backend') == 'x11'
|
||||||
|
|
@ -150,14 +151,14 @@ elif platform == 'android'
|
||||||
dependencies += dependency('egl', required: true)
|
dependencies += dependency('egl', required: true)
|
||||||
dependencies += dependency('glesv2', required: true)
|
dependencies += dependency('glesv2', required: true)
|
||||||
dependencies += dependency('openal', required: false)
|
dependencies += dependency('openal', required: false)
|
||||||
dependencies += cc.find_library('atomic', required: false)
|
dependencies += dependency('threads', required: true)
|
||||||
|
|
||||||
elif platform == 'drm'
|
elif platform == 'drm'
|
||||||
defines += 'PLATFORM_DRM'
|
defines += 'PLATFORM_DRM'
|
||||||
defines += '_DEFAULT_SOURCE'
|
defines += '_DEFAULT_SOURCE'
|
||||||
|
|
||||||
dependencies += cc.find_library('drm', required: true)
|
dependencies += dependency('drm', required: true)
|
||||||
dependencies += cc.find_library('gbm', required: false)
|
dependencies += dependency('gbm', required: false)
|
||||||
dependencies += dependency('egl', required: false)
|
dependencies += dependency('egl', required: false)
|
||||||
dependencies += dependency('glesv2', required: false)
|
dependencies += dependency('glesv2', required: false)
|
||||||
dependencies += dependency('threads', required: true)
|
dependencies += dependency('threads', required: true)
|
||||||
|
|
@ -188,8 +189,8 @@ elif platform == 'rgfw'
|
||||||
if host_machine.system() == 'darwin'
|
if host_machine.system() == 'darwin'
|
||||||
dependencies += dependency('appleframeworks', modules: ['OpenGL', 'Cocoa'])
|
dependencies += dependency('appleframeworks', modules: ['OpenGL', 'Cocoa'])
|
||||||
elif host_machine.system() == 'windows'
|
elif host_machine.system() == 'windows'
|
||||||
dependencies += cc.find_library('gdi32', required: true)
|
dependencies += dependency('gdi32', required: false)
|
||||||
dependencies += dependency('opengl', required: true)
|
dependencies += dependency('opengl', required: false)
|
||||||
elif host_machine.system() == 'linux'
|
elif host_machine.system() == 'linux'
|
||||||
dependencies += dependency('x11', required: true)
|
dependencies += dependency('x11', required: true)
|
||||||
dependencies += dependency('opengl', required: true)
|
dependencies += dependency('opengl', required: true)
|
||||||
|
|
@ -320,9 +321,7 @@ if build_shared_libs
|
||||||
compiler_flags += '-fvisibility=hidden'
|
compiler_flags += '-fvisibility=hidden'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
if get_option('use_audio')
|
link_args += '-lm'
|
||||||
dependencies += dependency('m', required: false)
|
|
||||||
endif
|
|
||||||
|
|
||||||
if not get_option('use_external_glfw') and platform == 'desktop'
|
if not get_option('use_external_glfw') and platform == 'desktop'
|
||||||
glfw_args = []
|
glfw_args = []
|
||||||
|
|
@ -349,14 +348,6 @@ if not get_option('use_external_glfw') and platform == 'desktop'
|
||||||
include_dirs += 'src/external/glfw/include'
|
include_dirs += 'src/external/glfw/include'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
raylib_kwargs = {
|
|
||||||
'sources': raylib_sources,
|
|
||||||
'dependencies': dependencies,
|
|
||||||
'include_directories': include_dirs,
|
|
||||||
'c_args': compiler_flags,
|
|
||||||
'defines': defines,
|
|
||||||
}
|
|
||||||
|
|
||||||
defines_args = []
|
defines_args = []
|
||||||
foreach d : defines
|
foreach d : defines
|
||||||
defines_args += '-D' + d
|
defines_args += '-D' + d
|
||||||
|
|
@ -367,6 +358,7 @@ if build_shared_libs
|
||||||
raylib_lib = shared_library('raylib',
|
raylib_lib = shared_library('raylib',
|
||||||
sources: raylib_sources,
|
sources: raylib_sources,
|
||||||
dependencies: dependencies,
|
dependencies: dependencies,
|
||||||
|
link_args: link_args,
|
||||||
include_directories: include_dirs,
|
include_directories: include_dirs,
|
||||||
c_args: all_c_args,
|
c_args: all_c_args,
|
||||||
version: meson.project_version(),
|
version: meson.project_version(),
|
||||||
|
|
@ -376,6 +368,7 @@ else
|
||||||
raylib_lib = static_library('raylib',
|
raylib_lib = static_library('raylib',
|
||||||
sources: raylib_sources,
|
sources: raylib_sources,
|
||||||
dependencies: dependencies,
|
dependencies: dependencies,
|
||||||
|
link_args: link_args,
|
||||||
include_directories: include_dirs,
|
include_directories: include_dirs,
|
||||||
c_args: all_c_args,
|
c_args: all_c_args,
|
||||||
)
|
)
|
||||||
|
|
@ -385,6 +378,7 @@ raylib_dep = declare_dependency(
|
||||||
include_directories: include_dirs,
|
include_directories: include_dirs,
|
||||||
sources: raylib_public_headers,
|
sources: raylib_public_headers,
|
||||||
dependencies: dependencies,
|
dependencies: dependencies,
|
||||||
|
link_args: link_args,
|
||||||
link_with: raylib_lib,
|
link_with: raylib_lib,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
@ -396,5 +390,5 @@ pkgconfig.generate(raylib_lib,
|
||||||
description: 'Simple and easy-to-use library to enjoy videogames programming',
|
description: 'Simple and easy-to-use library to enjoy videogames programming',
|
||||||
version: meson.project_version(),
|
version: meson.project_version(),
|
||||||
filebase: 'raylib',
|
filebase: 'raylib',
|
||||||
libraries: dependencies,
|
libraries: dependencies + [raylib_lib],
|
||||||
)
|
)
|
||||||
|
|
|
||||||
64
meson_options.txt
Normal file
64
meson_options.txt
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
option('platform', type: 'combo',
|
||||||
|
choices: ['desktop', 'web', 'android', 'drm', 'sdl', 'rgfw'],
|
||||||
|
value: 'desktop',
|
||||||
|
description: 'Target platform')
|
||||||
|
|
||||||
|
option('graphics', type: 'combo',
|
||||||
|
choices: ['default', 'opengl33', 'opengl43', 'opengles2', 'opengles3', 'software'],
|
||||||
|
value: 'default',
|
||||||
|
description: 'Graphics API')
|
||||||
|
|
||||||
|
option('glfw_backend', type: 'combo',
|
||||||
|
choices: ['x11', 'wayland'],
|
||||||
|
value: 'x11',
|
||||||
|
description: 'GLFW backend on Linux (X11 or Wayland)')
|
||||||
|
|
||||||
|
option('use_external_glfw', type: 'boolean', value: false,
|
||||||
|
description: 'Use system GLFW instead of bundled')
|
||||||
|
|
||||||
|
option('use_audio', type: 'boolean', value: true,
|
||||||
|
description: 'Build with audio module')
|
||||||
|
|
||||||
|
option('support_module_rshapes', type: 'boolean', value: true,
|
||||||
|
description: 'Support module rshapes')
|
||||||
|
option('support_module_rtextures', type: 'boolean', value: true,
|
||||||
|
description: 'Support module rtextures')
|
||||||
|
option('support_module_rtext', type: 'boolean', value: true,
|
||||||
|
description: 'Support module rtext')
|
||||||
|
option('support_module_rmodels', type: 'boolean', value: true,
|
||||||
|
description: 'Support module rmodels')
|
||||||
|
option('support_module_raudio', type: 'boolean', value: true,
|
||||||
|
description: 'Support module raudio')
|
||||||
|
option('support_tracelog', type: 'boolean', value: true,
|
||||||
|
description: 'Support tracelog')
|
||||||
|
option('support_camera_system', type: 'boolean', value: true,
|
||||||
|
description: 'Support camera system')
|
||||||
|
option('support_gestures_system', type: 'boolean', value: true,
|
||||||
|
description: 'Support gestures system')
|
||||||
|
option('support_compression_api', type: 'boolean', value: true,
|
||||||
|
description: 'Support compression API')
|
||||||
|
option('support_automation_events', type: 'boolean', value: true,
|
||||||
|
description: 'Support automation events')
|
||||||
|
|
||||||
|
option('support_fileformat_tga', type: 'boolean', value: false,
|
||||||
|
description: 'Support TGA format')
|
||||||
|
option('support_fileformat_jpg', type: 'boolean', value: false,
|
||||||
|
description: 'Support JPG format')
|
||||||
|
option('support_fileformat_bmp', type: 'boolean', value: true,
|
||||||
|
description: 'Support BMP format')
|
||||||
|
option('support_fileformat_hdr', type: 'boolean', value: false,
|
||||||
|
description: 'Support HDR format')
|
||||||
|
option('support_fileformat_ktx', type: 'boolean', value: false,
|
||||||
|
description: 'Support KTX format')
|
||||||
|
option('support_fileformat_astc', type: 'boolean', value: false,
|
||||||
|
description: 'Support ASTC format')
|
||||||
|
option('support_fileformat_pvr', type: 'boolean', value: false,
|
||||||
|
description: 'Support PVR format')
|
||||||
|
option('support_fileformat_obj', type: 'boolean', value: true,
|
||||||
|
description: 'Support OBJ format')
|
||||||
|
option('support_fileformat_gltf', type: 'boolean', value: true,
|
||||||
|
description: 'Support GLTF format')
|
||||||
|
option('support_fileformat_vox', type: 'boolean', value: true,
|
||||||
|
description: 'Support VOX format')
|
||||||
|
option('support_fileformat_flac', type: 'boolean', value: false,
|
||||||
|
description: 'Support FLAC format')
|
||||||
6
raylib.wrap
Normal file
6
raylib.wrap
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[wrap-git]
|
||||||
|
url = https://github.com/pliniopvv/raylib-wrap.git
|
||||||
|
revision = master
|
||||||
|
|
||||||
|
[provide]
|
||||||
|
raylib = raylib_dep
|
||||||
Loading…
Reference in New Issue
Block a user