summaryrefslogtreecommitdiff
path: root/source/luametatex/cmake/lua.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/cmake/lua.cmake')
-rw-r--r--source/luametatex/cmake/lua.cmake87
1 files changed, 87 insertions, 0 deletions
diff --git a/source/luametatex/cmake/lua.cmake b/source/luametatex/cmake/lua.cmake
new file mode 100644
index 000000000..8e370a05e
--- /dev/null
+++ b/source/luametatex/cmake/lua.cmake
@@ -0,0 +1,87 @@
+set(lua_sources
+
+ source/luacore/lua54/src/lapi.c
+ source/luacore/lua54/src/lauxlib.c
+ source/luacore/lua54/src/lbaselib.c
+ source/luacore/lua54/src/lcode.c
+ source/luacore/lua54/src/lcorolib.c
+ source/luacore/lua54/src/lctype.c
+ source/luacore/lua54/src/ldblib.c
+ source/luacore/lua54/src/ldebug.c
+ source/luacore/lua54/src/ldo.c
+ source/luacore/lua54/src/ldump.c
+ source/luacore/lua54/src/lfunc.c
+ source/luacore/lua54/src/lgc.c
+ source/luacore/lua54/src/linit.c
+ source/luacore/lua54/src/liolib.c
+ source/luacore/lua54/src/llex.c
+ source/luacore/lua54/src/lmathlib.c
+ source/luacore/lua54/src/lmem.c
+ source/luacore/lua54/src/loadlib.c
+ source/luacore/lua54/src/lobject.c
+ source/luacore/lua54/src/lopcodes.c
+ source/luacore/lua54/src/loslib.c
+ source/luacore/lua54/src/lparser.c
+ source/luacore/lua54/src/lstate.c
+ source/luacore/lua54/src/lstring.c
+ source/luacore/lua54/src/lstrlib.c
+ source/luacore/lua54/src/ltable.c
+ source/luacore/lua54/src/ltablib.c
+ source/luacore/lua54/src/ltm.c
+ source/luacore/lua54/src/lua.c
+ source/luacore/lua54/src/lundump.c
+ source/luacore/lua54/src/lutf8lib.c
+ source/luacore/lua54/src/lvm.c
+ source/luacore/lua54/src/lzio.c
+
+ source/luacore/luapeg/lptree.c
+ source/luacore/luapeg/lpvm.c
+ source/luacore/luapeg/lpprint.c
+ source/luacore/luapeg/lpcap.c
+ source/luacore/luapeg/lpcode.c
+
+)
+
+add_library(lua STATIC ${lua_sources})
+
+set_property(TARGET lua PROPERTY C_STANDARD 99)
+
+target_include_directories(lua PRIVATE
+ source/luacore/lua54/src
+ source/luacore/luapeg
+)
+
+# luajit: 8000, lua 5.3: 1000000 or 15000
+
+target_compile_definitions(lua PUBLIC
+ # This one should also be set in the lua namespace!
+ # LUAI_HASHLIMIT=6 # obsolete
+ LUAI_MAXCSTACK=6000
+ LUA_UCID
+ # LUA_USE_JUMPTABLE=0
+ LPEG_DEBUG
+ # LUA_NOCVTS2N
+ # LUA_NOBUILTIN # disable likely usage
+ # LUAI_ASSERT
+ # LUA_STRFTIMEOPTIONS="aAbBcCdDeFgGhHIjmMnprRStTuUVwWxXyYzZ%"
+)
+
+if (UNIX)
+ target_compile_definitions(lua PUBLIC
+ LUA_USE_POSIX
+ LUA_USE_DLOPEN
+ )
+endif (UNIX)
+
+if (NOT MSVC)
+ target_compile_options(lua PRIVATE
+ -Wno-cast-align
+ -Wno-cast-qual
+ )
+endif (NOT MSVC)
+
+# this seems to be ok for mingw default
+#
+# todo: what is the right way to increase the stack (mingw)
+
+# target_compile_options(lua PRIVATE -DLUAI_MAXCSTACK=65536 -Wl,--stack,16777216)