blob: 0c49b447d9619c53d2881e4a849f3a60dc797c92 [file] [log] [blame] [edit]
dofile('rive_build_config.lua')
local dependency = require('dependency')
glfw = dependency.github('glfw/glfw', '3.4')
project('glfw3')
do
kind('StaticLib')
includedirs({ glfw .. '/include' })
files({
glfw .. '/src/internal.h',
glfw .. '/src/platform.h',
glfw .. '/src/mappings.h',
glfw .. '/src/context.c',
glfw .. '/src/init.c',
glfw .. '/src/input.c',
glfw .. '/src/monitor.c',
glfw .. '/src/platform.c',
glfw .. '/src/vulkan.c',
glfw .. '/src/window.c',
glfw .. '/src/egl_context.c',
glfw .. '/src/osmesa_context.c',
glfw .. '/src/null_platform.h',
glfw .. '/src/null_joystick.h',
glfw .. '/src/null_init.c',
glfw .. '/src/null_monitor.c',
glfw .. '/src/null_window.c',
glfw .. '/src/null_joystick.c',
})
filter({ 'system:windows' })
do
defines({
'_GLFW_WIN32',
'UNICODE',
'_UNICODE',
})
files({
glfw .. '/src/win32_time.h',
glfw .. '/src/win32_thread.h',
glfw .. '/src/win32_module.c',
glfw .. '/src/win32_time.c',
glfw .. '/src/win32_thread.c',
glfw .. '/src/win32_platform.h',
glfw .. '/src/win32_joystick.h',
glfw .. '/src/win32_init.c',
glfw .. '/src/win32_joystick.c',
glfw .. '/src/win32_monitor.c',
glfw .. '/src/win32_window.c',
glfw .. '/src/wgl_context.c',
})
end
filter({ 'system:macosx' })
do
defines({ '_GLFW_COCOA' })
removebuildoptions({ '-fobjc-arc' })
files({
glfw .. '/src/cocoa_time.h',
glfw .. '/src/cocoa_time.c',
glfw .. '/src/posix_thread.h',
glfw .. '/src/posix_module.c',
glfw .. '/src/posix_thread.c',
glfw .. '/src/cocoa_platform.h',
glfw .. '/src/cocoa_joystick.h',
glfw .. '/src/cocoa_init.m',
glfw .. '/src/cocoa_joystick.m',
glfw .. '/src/cocoa_monitor.m',
glfw .. '/src/cocoa_window.m',
glfw .. '/src/nsgl_context.m',
})
end
filter({ 'system:linux' })
do
defines({
'_GLFW_X11',
'_DEFAULT_SOURCE',
})
files({
glfw .. '/src/posix_time.h',
glfw .. '/src/posix_thread.h',
glfw .. '/src/posix_module.c',
glfw .. '/src/posix_time.c',
glfw .. '/src/posix_thread.c',
glfw .. '/src/x11_platform.h',
glfw .. '/src/xkb_unicode.h',
glfw .. '/src/x11_init.c',
glfw .. '/src/x11_monitor.c',
glfw .. '/src/x11_window.c',
glfw .. '/src/xkb_unicode.c',
glfw .. '/src/glx_context.c',
glfw .. '/src/linux_joystick.h',
glfw .. '/src/linux_joystick.c',
glfw .. '/src/posix_poll.h',
glfw .. '/src/posix_poll.c',
})
end
filter({ 'system:not windows', 'system:not macosx', 'system:not linux' })
do
-- Don't build GLFW on mobile or web platforms. It's integrated into
-- emscripten and unavailable on mobile.
kind('None')
end
end