summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/luv/deps/lua.cmake
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/luv/deps/lua.cmake')
-rw-r--r--3rdparty/luv/deps/lua.cmake128
1 files changed, 128 insertions, 0 deletions
diff --git a/3rdparty/luv/deps/lua.cmake b/3rdparty/luv/deps/lua.cmake
new file mode 100644
index 00000000000..393e67a107a
--- /dev/null
+++ b/3rdparty/luv/deps/lua.cmake
@@ -0,0 +1,128 @@
+# Modfied from luajit.cmake
+# Added LUAJIT_ADD_EXECUTABLE Ryan Phillips <ryan at trolocsis.com>
+# This CMakeLists.txt has been first taken from LuaDist
+# Copyright (C) 2007-2011 LuaDist.
+# Created by Peter Drahoš
+# Redistribution and use of this file is allowed according to the terms of the MIT license.
+# Debugged and (now seriously) modified by Ronan Collobert, for Torch7
+
+#project(Lua53 C)
+
+SET(LUA_DIR ${CMAKE_CURRENT_LIST_DIR}/lua)
+
+SET(CMAKE_REQUIRED_INCLUDES
+ ${LUA_DIR}
+ ${LUA_DIR}/src
+ ${CMAKE_CURRENT_BINARY_DIR}
+)
+
+OPTION(WITH_AMALG "Build eveything in one shot (needs memory)" ON)
+
+# Ugly warnings
+IF(MSVC)
+ ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS)
+ENDIF()
+
+# Various includes
+INCLUDE(CheckLibraryExists)
+INCLUDE(CheckFunctionExists)
+INCLUDE(CheckCSourceCompiles)
+INCLUDE(CheckTypeSize)
+
+CHECK_TYPE_SIZE("void*" SIZEOF_VOID_P)
+IF(SIZEOF_VOID_P EQUAL 8)
+ ADD_DEFINITIONS(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE)
+ENDIF()
+
+IF(NOT WIN32)
+ FIND_LIBRARY(DL_LIBRARY "dl")
+ IF(DL_LIBRARY)
+ SET(CMAKE_REQUIRED_LIBRARIES ${DL_LIBRARY})
+ LIST(APPEND LIBS ${DL_LIBRARY})
+ ENDIF(DL_LIBRARY)
+ CHECK_FUNCTION_EXISTS(dlopen LUA_USE_DLOPEN)
+ IF(NOT LUA_USE_DLOPEN)
+ MESSAGE(FATAL_ERROR "Cannot compile a useful lua.
+Function dlopen() seems not to be supported on your platform.
+Apparently you are not on a Windows platform as well.
+So lua has no way to deal with shared libraries!")
+ ENDIF(NOT LUA_USE_DLOPEN)
+ENDIF(NOT WIN32)
+
+check_library_exists(m sin "" LUA_USE_LIBM)
+if ( LUA_USE_LIBM )
+ list ( APPEND LIBS m )
+endif ()
+
+## SOURCES
+SET(SRC_LUALIB
+ ${LUA_DIR}/src/lbaselib.c
+ ${LUA_DIR}/src/lcorolib.c
+ ${LUA_DIR}/src/ldblib.c
+ ${LUA_DIR}/src/liolib.c
+ ${LUA_DIR}/src/lmathlib.c
+ ${LUA_DIR}/src/loadlib.c
+ ${LUA_DIR}/src/loslib.c
+ ${LUA_DIR}/src/lstrlib.c
+ ${LUA_DIR}/src/ltablib.c
+ ${LUA_DIR}/src/lutf8lib.c)
+
+SET(SRC_LUACORE
+ ${LUA_DIR}/src/lauxlib.c
+ ${LUA_DIR}/src/lapi.c
+ ${LUA_DIR}/src/lcode.c
+ ${LUA_DIR}/src/lctype.c
+ ${LUA_DIR}/src/ldebug.c
+ ${LUA_DIR}/src/ldo.c
+ ${LUA_DIR}/src/ldump.c
+ ${LUA_DIR}/src/lfunc.c
+ ${LUA_DIR}/src/lgc.c
+ ${LUA_DIR}/src/linit.c
+ ${LUA_DIR}/src/llex.c
+ ${LUA_DIR}/src/lmem.c
+ ${LUA_DIR}/src/lobject.c
+ ${LUA_DIR}/src/lopcodes.c
+ ${LUA_DIR}/src/lparser.c
+ ${LUA_DIR}/src/lstate.c
+ ${LUA_DIR}/src/lstring.c
+ ${LUA_DIR}/src/ltable.c
+ ${LUA_DIR}/src/ltm.c
+ ${LUA_DIR}/src/lundump.c
+ ${LUA_DIR}/src/lvm.c
+ ${LUA_DIR}/src/lzio.c
+ ${SRC_LUALIB})
+
+## GENERATE
+
+IF(WITH_SHARED_LUA)
+ IF(WITH_AMALG)
+ add_library(lualib SHARED ${LUA_DIR}/../lua_one.c ${DEPS})
+ ELSE()
+ add_library(lualib SHARED ${SRC_LUACORE} ${DEPS} )
+ ENDIF()
+ELSE()
+ IF(WITH_AMALG)
+ add_library(lualib STATIC ${LUA_DIR}/../lua_one.c ${DEPS} )
+ ELSE()
+ add_library(lualib STATIC ${SRC_LUACORE} ${DEPS} )
+ ENDIF()
+ set_target_properties(lualib PROPERTIES
+ PREFIX "lib" IMPORT_PREFIX "lib")
+ENDIF()
+
+target_link_libraries (lualib ${LIBS} )
+set_target_properties (lualib PROPERTIES OUTPUT_NAME "lua53")
+
+IF(WIN32)
+ add_executable(lua ${LUA_DIR}/src/lua.c)
+ target_link_libraries(lua lualib)
+ELSE()
+ IF(WITH_AMALG)
+ add_executable(lua ${LUA_DIR}/src/lua.c ${LUA_DIR}/lua_one.c ${DEPS})
+ ELSE()
+ add_executable(lua ${LUA_DIR}/src/lua.c ${SRC_LUACORE} ${DEPS})
+ ENDIF()
+ target_link_libraries(lua ${LIBS})
+ SET_TARGET_PROPERTIES(lua PROPERTIES ENABLE_EXPORTS ON)
+ENDIF(WIN32)
+