fixed lua dependency
This commit is contained in:
parent
ebf2efdfc8
commit
a5213c552a
|
@ -1,6 +1,3 @@
|
|||
[submodule "3rdlibs/glfw"]
|
||||
path = 3rdlibs/glfw
|
||||
url = https://github.com/glfw/glfw.git
|
||||
[submodule "3rdlibs/lua"]
|
||||
path = 3rdlibs/lua
|
||||
url = https://github.com/lua/lua.git
|
||||
|
|
|
@ -9,11 +9,8 @@ project(HazelLuaEngine
|
|||
)
|
||||
|
||||
set(HAZEL_CORE_NAME hazel_core)
|
||||
set(HAZEL_EXECUTOR_NAME hazel)
|
||||
|
||||
# glfw
|
||||
set(GLFW_BUILD_DOCS OFF)
|
||||
set(GLFW_INSTALL OFF)
|
||||
set(HAZEL_EXECUTOR_NAME HazelRunner)
|
||||
set(HAZEL_LUA_BRIDGE_NAME hazel)
|
||||
|
||||
include(cmake/FindLua.cmake)
|
||||
include(cmake/FindGLFW.cmake)
|
||||
|
@ -31,4 +28,4 @@ if(WIN32)
|
|||
endif(WIN32)
|
||||
|
||||
# sandbox
|
||||
add_subdirectory(binding/lua/executor)
|
||||
add_subdirectory(binding/lua)
|
|
@ -1 +1,3 @@
|
|||
A tiny engine made with C and Lua for 1MGames
|
||||
|
||||
NOTE: **Under Windows, you must use MinGW to compile**
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
add_library(${HAZEL_LUA_BRIDGE_NAME} SHARED bridge.c)
|
||||
target_link_libraries(${HAZEL_LUA_BRIDGE_NAME} PUBLIC ${HAZEL_CORE_NAME} lua)
|
||||
|
||||
add_executable(${HAZEL_EXECUTOR_NAME} executor.c)
|
||||
target_link_libraries(${HAZEL_EXECUTOR_NAME} PUBLIC lua)
|
|
@ -0,0 +1,21 @@
|
|||
#include "lua.h"
|
||||
#include "lauxlib.h"
|
||||
#include "lualib.h"
|
||||
#include "luaconf.h"
|
||||
|
||||
#include "hazel/hazel.h"
|
||||
|
||||
static int LuaBridge_RunExampleWindow(lua_State* L) {
|
||||
Hazel_RunExampleWindow();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const struct luaL_Reg hazel[] = {
|
||||
{"RunExampleWindow", LuaBridge_RunExampleWindow},
|
||||
{NULL, NULL},
|
||||
};
|
||||
|
||||
DLLEXPORT int luaopen_hazel(lua_State* L) {
|
||||
luaL_newlib(L, hazel);
|
||||
return 1;
|
||||
}
|
|
@ -1,5 +1,3 @@
|
|||
#include "hazel/hazel.h"
|
||||
|
||||
#include "lua.h"
|
||||
#include "lualib.h"
|
||||
#include "lauxlib.h"
|
||||
|
@ -10,7 +8,7 @@ int main() {
|
|||
printf("lua init failed\n");
|
||||
return 1;
|
||||
}
|
||||
// luaL_openlibs(L);
|
||||
luaL_openlibs(L);
|
||||
|
||||
if (luaL_loadfile(L, "main.lua") || lua_pcall(L, 0, 0, 0)) {
|
||||
printf("main.lua load and execute failed\n");
|
|
@ -1,2 +0,0 @@
|
|||
add_executable(${HAZEL_EXECUTOR_NAME} ./executor.c)
|
||||
target_link_libraries(${HAZEL_EXECUTOR_NAME} PUBLIC ${HAZEL_CORE_NAME} lua)
|
|
@ -1 +1,5 @@
|
|||
print("hello")
|
||||
---@class hazel
|
||||
---@field RunExampleWindow function
|
||||
local hazel = require "hazel"
|
||||
|
||||
hazel.RunExampleWindow()
|
|
@ -1 +1,3 @@
|
|||
set(GLFW_BUILD_DOCS OFF)
|
||||
set(GLFW_INSTALL OFF)
|
||||
add_subdirectory(3rdlibs/glfw)
|
|
@ -1,31 +1,40 @@
|
|||
set(LUA_SRC
|
||||
3rdlibs/lua/lapi.c
|
||||
3rdlibs/lua/lcode.c
|
||||
3rdlibs/lua/lctype.c
|
||||
3rdlibs/lua/ldebug.c
|
||||
3rdlibs/lua/ldo.c
|
||||
3rdlibs/lua/ldump.c
|
||||
3rdlibs/lua/lfunc.c
|
||||
3rdlibs/lua/lgc.c
|
||||
3rdlibs/lua/llex.c
|
||||
|
||||
3rdlibs/lua/lmem.c
|
||||
3rdlibs/lua/lobject.c
|
||||
3rdlibs/lua/lopcodes.c
|
||||
3rdlibs/lua/lparser.c
|
||||
3rdlibs/lua/lstate.c
|
||||
3rdlibs/lua/lstring.c
|
||||
3rdlibs/lua/ltable.c
|
||||
|
||||
3rdlibs/lua/ltm.c
|
||||
3rdlibs/lua/lundump.c
|
||||
3rdlibs/lua/lvm.c
|
||||
3rdlibs/lua/lzio.c
|
||||
3rdlibs/lua/ltests.c
|
||||
3rdlibs/lua/lauxlib.c
|
||||
3rdlibs/lua/src/lapi.c
|
||||
3rdlibs/lua/src/lcode.c
|
||||
3rdlibs/lua/src/lctype.c
|
||||
3rdlibs/lua/src/ldebug.c
|
||||
3rdlibs/lua/src/ldo.c
|
||||
3rdlibs/lua/src/ldump.c
|
||||
3rdlibs/lua/src/lfunc.c
|
||||
3rdlibs/lua/src/lgc.c
|
||||
3rdlibs/lua/src/llex.c
|
||||
3rdlibs/lua/src/lmem.c
|
||||
3rdlibs/lua/src/lobject.c
|
||||
3rdlibs/lua/src/lopcodes.c
|
||||
3rdlibs/lua/src/lparser.c
|
||||
3rdlibs/lua/src/lstate.c
|
||||
3rdlibs/lua/src/lstring.c
|
||||
3rdlibs/lua/src/ltable.c
|
||||
3rdlibs/lua/src/ltm.c
|
||||
3rdlibs/lua/src/lundump.c
|
||||
3rdlibs/lua/src/lvm.c
|
||||
3rdlibs/lua/src/lzio.c
|
||||
3rdlibs/lua/src/lauxlib.c
|
||||
3rdlibs/lua/src/lbaselib.c
|
||||
3rdlibs/lua/src/lcorolib.c
|
||||
3rdlibs/lua/src/ldblib.c
|
||||
3rdlibs/lua/src/liolib.c
|
||||
3rdlibs/lua/src/lmathlib.c
|
||||
3rdlibs/lua/src/loadlib.c
|
||||
3rdlibs/lua/src/loslib.c
|
||||
3rdlibs/lua/src/lstrlib.c
|
||||
3rdlibs/lua/src/ltablib.c
|
||||
3rdlibs/lua/src/lutf8lib.c
|
||||
3rdlibs/lua/src/linit.c
|
||||
)
|
||||
|
||||
add_library(lua STATIC ${LUA_SRC})
|
||||
target_include_directories(lua PUBLIC ./3rdlibs/lua)
|
||||
target_include_directories(lua PUBLIC ./3rdlibs/lua/src)
|
||||
target_compile_features(lua PRIVATE c_std_99)
|
||||
|
||||
# TODO if you use MinGW, maybe you need this
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
|
||||
#include "pch.h"
|
||||
|
||||
DLLEXPORT void RunExampleWindow();
|
||||
DLLEXPORT void Hazel_RunExampleWindow();
|
||||
|
||||
#endif
|
|
@ -1,6 +1,6 @@
|
|||
#include "hazel/hazel.h"
|
||||
|
||||
void RunExampleWindow() {
|
||||
void Hazel_RunExampleWindow() {
|
||||
GLFWwindow* window;
|
||||
|
||||
/* Initialize the library */
|
||||
|
|
Reference in New Issue