mirror of https://github.com/minetest/minetest.git
104 lines
2.2 KiB
CMake
104 lines
2.2 KiB
CMake
|
|
# Lua core source files.
|
|
set(LUA_CORE_SRC
|
|
lapi.c
|
|
lauxlib.c
|
|
lbaselib.c
|
|
lcode.c
|
|
ldblib.c
|
|
ldebug.c
|
|
ldo.c
|
|
ldump.c
|
|
lfunc.c
|
|
lgc.c
|
|
linit.c
|
|
liolib.c
|
|
llex.c
|
|
lmathlib.c
|
|
lmem.c
|
|
loadlib.c
|
|
lobject.c
|
|
lopcodes.c
|
|
loslib.c
|
|
lparser.c
|
|
lstate.c
|
|
lstring.c
|
|
lstrlib.c
|
|
ltable.c
|
|
ltablib.c
|
|
ltm.c
|
|
lundump.c
|
|
lvm.c
|
|
lzio.c
|
|
)
|
|
set(LUA_LIB_HEADERS
|
|
lua.h
|
|
lualib.h
|
|
lauxlib.h
|
|
luaconf.h
|
|
)
|
|
|
|
include_directories(${CMAKE_CURRENT_SOURCE_DIR}
|
|
${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
#
|
|
# Lua library.
|
|
#
|
|
if(BUILD_STATIC)
|
|
add_library(lua STATIC ${LUA_CORE_SRC})
|
|
add_target_properties(lua COMPILE_FLAGS "${COMMON_CFLAGS}")
|
|
add_target_properties(lua LINK_FLAGS "${LD_FLAGS} ${COMMON_LDFLAGS}")
|
|
target_link_libraries(lua ${LIBS})
|
|
set(LUA_STATIC_LIB lua)
|
|
set(LUA_LIBS lua)
|
|
else(BUILD_STATIC)
|
|
add_library(lua_static STATIC ${LUA_CORE_SRC})
|
|
add_target_properties(lua_static COMPILE_FLAGS "${COMMON_CFLAGS}")
|
|
add_target_properties(lua_static LINK_FLAGS "${LD_FLAGS} ${COMMON_LDFLAGS}")
|
|
target_link_libraries(lua_static ${LIBS})
|
|
set(LUA_STATIC_LIB lua_static)
|
|
|
|
add_library(lua SHARED ${LUA_CORE_SRC})
|
|
add_target_properties(lua COMPILE_FLAGS "${COMMON_CFLAGS}")
|
|
add_target_properties(lua LINK_FLAGS "${LD_FLAGS} ${COMMON_LDFLAGS}")
|
|
target_link_libraries(lua ${LIBS})
|
|
|
|
set(LUA_LIBS lua_static lua)
|
|
endif(BUILD_STATIC)
|
|
set_target_properties(${LUA_LIBS} PROPERTIES
|
|
VERSION ${LUA_VERSION}
|
|
SOVERSION ${LUA_SOVERSION}
|
|
CLEAN_DIRECT_OUTPUT 1
|
|
)
|
|
|
|
#
|
|
# Lua compiler
|
|
#
|
|
add_executable(luac luac.c print.c)
|
|
add_target_properties(luac COMPILE_FLAGS "${COMMON_CFLAGS}")
|
|
add_target_properties(luac LINK_FLAGS "${LD_FLAGS} ${COMMON_LDFLAGS}")
|
|
target_link_libraries(luac ${LUA_STATIC_LIB} ${LIBS})
|
|
|
|
#
|
|
# Lua stand-alone interpreter
|
|
#
|
|
add_executable(lua.bin lua.c)
|
|
add_target_properties(lua.bin COMPILE_FLAGS "${COMMON_CFLAGS}")
|
|
add_target_properties(lua.bin LINK_FLAGS "${LD_FLAGS} ${COMMON_LDFLAGS}")
|
|
target_link_libraries(lua.bin lua ${LIBS})
|
|
# rename lub.bin to lua
|
|
set_target_properties(lua.bin PROPERTIES OUTPUT_NAME lua)
|
|
|
|
#
|
|
# install lua/luac & library.
|
|
#
|
|
install(TARGETS luac lua.bin ${LUA_LIBS}
|
|
RUNTIME DESTINATION bin
|
|
LIBRARY DESTINATION lib
|
|
ARCHIVE DESTINATION lib)
|
|
|
|
install(FILES
|
|
${LUA_LIB_HEADERS}
|
|
DESTINATION include)
|
|
|