aboutsummaryrefslogtreecommitdiff
path: root/src/lua/src/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/lua/src/CMakeLists.txt')
-rw-r--r--src/lua/src/CMakeLists.txt103
1 files changed, 103 insertions, 0 deletions
diff --git a/src/lua/src/CMakeLists.txt b/src/lua/src/CMakeLists.txt
new file mode 100644
index 000000000..47fba6ce3
--- /dev/null
+++ b/src/lua/src/CMakeLists.txt
@@ -0,0 +1,103 @@
+
+# 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)
+