cmake_minimum_required(VERSION 3.12) project(lua VERSION 5.0.3 LANGUAGES C) # Lua 5.0.3: 平铺源码, 无 linit.c(库需手动逐个 luaopen_*) set(CMAKE_C_STANDARD 99) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -w") set(CMAKE_POSITION_INDEPENDENT_CODE ON) if(CMAKE_C_COMPILER MATCHES "mingw" OR CMAKE_SYSTEM_NAME STREQUAL "Windows") set(IS_WINDOWS TRUE) endif() if(NOT IS_WINDOWS) list(APPEND EXTRA_LIBS dl) add_compile_definitions(LUA_USE_LINUX) endif() add_library(lua STATIC lapi.c lauxlib.c lbaselib.c lcode.c ldblib.c ldebug.c ldo.c ldump.c lfunc.c lgc.c liolib.c llex.c lmathlib.c lmem.c loadlib.c lobject.c lopcodes.c lparser.c lstate.c lstring.c lstrlib.c ltable.c ltablib.c ltm.c lundump.c lvm.c lzio.c ) # ltests.c 仅调试用, 不参与构建