
add_definitions(-DLUA)

if(LUA_COMPILER)
  add_definitions(-DLUA_COMPILER)
endif()

if(LUA_ALLOCATOR_TRACER AND DEBUG)
  add_definitions(-DLUA_ALLOCATOR_TRACER)
endif()

if(NOT "${LUA_SCRIPT_LOAD_MODE}" STREQUAL "")
  add_definitions(-DLUA_SCRIPT_LOAD_MODE="${LUA_SCRIPT_LOAD_MODE}")
endif()

include_directories(${LUA_DIR})

if(LUA_MIXER)
  add_definitions(-DLUA_MODEL_SCRIPTS)
endif()

set(SRC ${SRC}
  lua/interface.cpp
  lua/api_general.cpp
  lua/api_model.cpp
  lua/api_filesystem.cpp
  lua/lua_event.cpp
)

if(GUI_DIR STREQUAL colorlcd)
  set(SRC ${SRC} lua/api_colorlcd.cpp lua/api_colorlcd_lvgl.cpp lua/widgets.cpp)
else()
  set(SRC ${SRC} lua/api_stdlcd.cpp)
endif()

set(LUA_SRC
  lapi.c
  lcode.c
  lctype.c
  ldebug.c
  ldo.c
  ldump.c
  lfunc.c
  lgc.c
  llex.c
  lmem.c
  lobject.c
  lopcodes.c
  lparser.c
  lstate.c
  lstring.c
  ltable.c
  ltm.c
  lundump.c
  lvm.c
  lzio.c
  linit.c
  lbaselib.c
  lmathlib.c
  lbitlib.c
  loadlib.c
  lauxlib.c
  ltablib.c
  lcorolib.c
  liolib.c
  lstrlib.c
)

add_compile_definitions(LUA_COMPAT_5_2)

foreach(FILE ${LUA_SRC})
  set(SRC ${SRC} ${LUA_DIR}/${FILE})
endforeach()
