summaryrefslogtreecommitdiff
path: root/source/luametatex/cmake/lua.cmake
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2022-09-16 15:53:42 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2022-09-16 15:53:42 +0200
commitc161b7d6fe142231346cc1844e6e27c0ab7718c1 (patch)
tree3fd877b8986137703e987e4651a2db8e946a0f72 /source/luametatex/cmake/lua.cmake
parente94fa4dc30ec28a6727aa85e17aaac18b76aeadb (diff)
downloadcontext-c161b7d6fe142231346cc1844e6e27c0ab7718c1.tar.gz
2022-09-16 14:41:00
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)