project(lualib) include(CheckFunctionExists) set(LUA_SRC_DIR "${CMAKE_CURRENT_LIST_DIR}/src") set(LUA_SRCS ${LUA_SRC_DIR}/fpconv.c ${LUA_SRC_DIR}/lbaselib.c ${LUA_SRC_DIR}/lmathlib.c ${LUA_SRC_DIR}/lstring.c ${LUA_SRC_DIR}/lparser.c ${LUA_SRC_DIR}/ldo.c ${LUA_SRC_DIR}/lzio.c ${LUA_SRC_DIR}/lmem.c ${LUA_SRC_DIR}/strbuf.c ${LUA_SRC_DIR}/lstrlib.c ${LUA_SRC_DIR}/lundump.c ${LUA_SRC_DIR}/lua_cmsgpack.c ${LUA_SRC_DIR}/loslib.c ${LUA_SRC_DIR}/lua_struct.c ${LUA_SRC_DIR}/ldebug.c ${LUA_SRC_DIR}/lobject.c ${LUA_SRC_DIR}/ldump.c ${LUA_SRC_DIR}/lua_cjson.c ${LUA_SRC_DIR}/ldblib.c ${LUA_SRC_DIR}/ltm.c ${LUA_SRC_DIR}/ltable.c ${LUA_SRC_DIR}/lstate.c ${LUA_SRC_DIR}/lua_bit.c ${LUA_SRC_DIR}/lua.c ${LUA_SRC_DIR}/loadlib.c ${LUA_SRC_DIR}/lcode.c ${LUA_SRC_DIR}/lapi.c ${LUA_SRC_DIR}/lgc.c ${LUA_SRC_DIR}/lvm.c ${LUA_SRC_DIR}/lfunc.c ${LUA_SRC_DIR}/lauxlib.c ${LUA_SRC_DIR}/ltablib.c ${LUA_SRC_DIR}/linit.c ${LUA_SRC_DIR}/lopcodes.c ${LUA_SRC_DIR}/llex.c ${LUA_SRC_DIR}/liolib.c) add_library(lualib STATIC "${LUA_SRCS}") target_include_directories(lualib PUBLIC "${LUA_SRC_DIR}") target_compile_definitions(lualib PRIVATE ENABLE_CJSON_GLOBAL) # Use mkstemp if available check_function_exists(mkstemp HAVE_MKSTEMP) if (HAVE_MKSTEMP) target_compile_definitions(lualib PRIVATE LUA_USE_MKSTEMP) endif () unset(HAVE_MKSTEMP CACHE)