Build option for Lua events that is off by default.
This commit is contained in:
@@ -12,6 +12,7 @@ set( CMAKE_C_STANDARD 99 ) # Requires C99 standard
|
||||
|
||||
option( SHARED "Build using dynamic libraries." off )
|
||||
option( LUAJIT "Use LuaJIT." off )
|
||||
option( LUA_EVENTS "Enable Lua event callbacks (RL.event)." off )
|
||||
|
||||
enum_option( PLATFORM "Desktop;Desktop_SDL;Web" "Platform to build for." )
|
||||
|
||||
@@ -33,6 +34,10 @@ elseif( PLATFORM STREQUAL "Web" )
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DPLATFORM_WEB" )
|
||||
endif()
|
||||
|
||||
if( LUA_EVENTS )
|
||||
set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLUA_EVENTS" )
|
||||
endif()
|
||||
|
||||
if( PLATFORM STREQUAL "Web" )
|
||||
target_link_libraries( ${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/lib/web/libraylib.a )
|
||||
target_link_libraries( ${PROJECT_NAME} ${CMAKE_SOURCE_DIR}/lib/web/liblua.a )
|
||||
@@ -77,7 +82,7 @@ else() # Desktop
|
||||
target_link_libraries( ${PROJECT_NAME} ${SDL2_LIBRARIES} )
|
||||
endif()
|
||||
|
||||
if( DRM ) # Mainly for Raspberry Pi
|
||||
if( DRM ) # For Raspberry Pi
|
||||
# target_link_libraries( ${PROJECT_NAME} GLESv2 EGL drm gbm rt bcm_host m dl pthread )
|
||||
# target_link_libraries( ${PROJECT_NAME} GLESv2 EGL drm gbm pthread rt m dl )
|
||||
target_link_libraries( ${PROJECT_NAME} raylib GLESv2 EGL pthread rt m gbm drm dl atomic )
|
||||
@@ -87,6 +92,8 @@ else() # Desktop
|
||||
elseif( APPLE )
|
||||
set( CMAKE_C_COMPILER "clang" )
|
||||
|
||||
# TODO Linking to sdl2.
|
||||
|
||||
target_link_libraries( ${PROJECT_NAME} "-framework IOKit" )
|
||||
target_link_libraries( ${PROJECT_NAME} "-framework Cocoa" )
|
||||
target_link_libraries( ${PROJECT_NAME} "-framework OpenGL" )
|
||||
|
||||
@@ -36,6 +36,7 @@ KEY CHANGES:
|
||||
- ADDED: Text codepoints management functions.
|
||||
- ADDED: Rune, UTF8 lib.
|
||||
- CHANGE: Raygui styles include properties, texture and font.
|
||||
- ADDED: Build option for Lua events that is off by default.
|
||||
|
||||
DETAILED CHANGES:
|
||||
- REMOVED: DrawLineBezierQuad, DrawLineBezierCubic.
|
||||
|
||||
4
devnotes
4
devnotes
@@ -2,6 +2,9 @@ Current {
|
||||
}
|
||||
|
||||
Backlog {
|
||||
* Godot scene importer lib.
|
||||
* Script to find unimplemented raylib functions. Should have list for fuctions that will not
|
||||
be implemented.
|
||||
* Raygui lib
|
||||
* Check if could remove flickering from changing draw order by making queue for order changing and only
|
||||
change them after everything is drawn.
|
||||
@@ -22,6 +25,7 @@ Backlog {
|
||||
}
|
||||
|
||||
Bugs {
|
||||
* glfwSet*Callback functions segfault on Windows. Should keep Lua events off.
|
||||
}
|
||||
|
||||
Needs Testing {
|
||||
|
||||
@@ -6,7 +6,7 @@ end
|
||||
local Vector3 = require( "vector3" )
|
||||
|
||||
local Color = {}
|
||||
Color.meta = {
|
||||
local metatable = {
|
||||
__index = Color,
|
||||
__tostring = function( c )
|
||||
return "{"..math.floor( c.r )..", "..math.floor( c.g )..", "..math.floor( c.b )..", "..math.floor( c.a ).."}"
|
||||
@@ -57,7 +57,7 @@ function Color:new( r, g, b, a )
|
||||
a = 255
|
||||
end
|
||||
|
||||
local object = setmetatable( {}, Color.meta )
|
||||
local object = setmetatable( {}, metatable )
|
||||
|
||||
object.r = r
|
||||
object.g = g
|
||||
|
||||
@@ -7,7 +7,7 @@ local Vector3 = require( "vector3" )
|
||||
local Matrix = require( "matrix" )
|
||||
|
||||
local Quaternion = {}
|
||||
Quaternion.meta = {
|
||||
local metatable = {
|
||||
__index = Quaternion,
|
||||
__tostring = function( q )
|
||||
return "{"..tostring( q.x )..", "..tostring( q.y )..", "..tostring( q.z )..", "..tostring( q.w ).."}"
|
||||
@@ -45,7 +45,7 @@ function Quaternion:new( x, y, z, w )
|
||||
x, y, z, w = 0, 0, 0, 1 -- QuaternionIdentity.
|
||||
end
|
||||
|
||||
local object = setmetatable( {}, Quaternion.meta )
|
||||
local object = setmetatable( {}, metatable )
|
||||
|
||||
object.x = x
|
||||
object.y = y
|
||||
|
||||
@@ -4,7 +4,7 @@ if table.unpack == nil then
|
||||
end
|
||||
|
||||
local Rune = {}
|
||||
Rune.meta = {
|
||||
local metatable = {
|
||||
__index = Rune,
|
||||
__tostring = function( r )
|
||||
return r.string
|
||||
@@ -27,7 +27,7 @@ function Rune:new( string )
|
||||
string = ""
|
||||
end
|
||||
|
||||
local object = setmetatable( {}, Rune.meta )
|
||||
local object = setmetatable( {}, metatable )
|
||||
|
||||
object.string = string
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ if table.unpack == nil then
|
||||
end
|
||||
|
||||
local Vector2 = {}
|
||||
Vector2.meta = {
|
||||
local metatable = {
|
||||
__index = Vector2,
|
||||
__tostring = function( v )
|
||||
return "{"..tostring( v.x )..", "..tostring( v.y ).."}"
|
||||
@@ -48,7 +48,7 @@ function Vector2:new( x, y )
|
||||
x, y = 0, 0
|
||||
end
|
||||
|
||||
local object = setmetatable( {}, Vector2.meta )
|
||||
local object = setmetatable( {}, metatable )
|
||||
|
||||
object.x = x
|
||||
object.y = y
|
||||
|
||||
@@ -6,7 +6,7 @@ end
|
||||
local Vector2 = require( "vector2" )
|
||||
|
||||
local Vector3 = {}
|
||||
Vector3.meta = {
|
||||
local metatable = {
|
||||
__index = Vector3,
|
||||
__tostring = function( v )
|
||||
return "{"..tostring( v.x )..", "..tostring( v.y )..", "..tostring( v.z ).."}"
|
||||
@@ -50,7 +50,7 @@ function Vector3:new( x, y, z )
|
||||
x, y, z = 0, 0, 0
|
||||
end
|
||||
|
||||
local object = setmetatable( {}, Vector3.meta )
|
||||
local object = setmetatable( {}, metatable )
|
||||
|
||||
object.x = x
|
||||
object.y = y
|
||||
|
||||
@@ -1129,7 +1129,7 @@ bool luaCallMain() {
|
||||
|
||||
void luaCallProcess() {
|
||||
|
||||
#ifdef PLATFORM_DESKTOP_SDL
|
||||
#if defined PLATFORM_DESKTOP_SDL && defined LUA_EVENTS
|
||||
platformSendEvents();
|
||||
#endif
|
||||
lua_State *L = state->luaState;
|
||||
|
||||
@@ -649,5 +649,7 @@ void luaPlatformRegister() {
|
||||
|
||||
lua_pop( L, -1 );
|
||||
|
||||
#ifdef LUA_EVENTS
|
||||
platformRegisterEvents();
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -555,5 +555,7 @@ void luaPlatformRegister() {
|
||||
|
||||
lua_pop( L, -1 );
|
||||
|
||||
platformRegisterEvents()
|
||||
#ifdef LUA_EVENTS
|
||||
platformRegisterEvents();
|
||||
#endif
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user