summaryrefslogtreecommitdiff
path: root/src/lua/CMakeLists.txt
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-02-21 16:10:36 +0200
committerPerttu Ahola <celeron55@gmail.com>2011-02-21 16:10:36 +0200
commit69dbc046eb5a82b38c6d5c3302e9b3b0b3c1bcf1 (patch)
treee892b50187ba7343cb75f359ccbb55bdde19afd5 /src/lua/CMakeLists.txt
parentc57637b4c39319e0c0d5d80d0ae2884aec66d691 (diff)
downloadminetest-69dbc046eb5a82b38c6d5c3302e9b3b0b3c1bcf1.tar.gz
minetest-69dbc046eb5a82b38c6d5c3302e9b3b0b3c1bcf1.tar.bz2
minetest-69dbc046eb5a82b38c6d5c3302e9b3b0b3c1bcf1.zip
preliminary lua scripting framework for objects
Diffstat (limited to 'src/lua/CMakeLists.txt')
-rw-r--r--src/lua/CMakeLists.txt197
1 files changed, 197 insertions, 0 deletions
diff --git a/src/lua/CMakeLists.txt b/src/lua/CMakeLists.txt
new file mode 100644
index 000000000..21bceebeb
--- /dev/null
+++ b/src/lua/CMakeLists.txt
@@ -0,0 +1,197 @@
+#
+# Lua 5.1.x
+#
+cmake_minimum_required(VERSION 2.4 FATAL_ERROR)
+
+project(lua C)
+
+set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
+
+include(CustomMacros)
+
+#enable_testing()
+
+set(COMMON_CFLAGS)
+set(COMMON_LDFLAGS)
+set(LIBS)
+#
+# Detect system type
+#
+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ set(DEFAULT_POSIX TRUE)
+ set(DEFAULT_DLOPEN ON)
+ set(DEFAULT_READLINE ON)
+ set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -Wl,-E")
+else(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+ if(APPLE)
+ set(DEFAULT_POSIX TRUE)
+ set(DEFAULT_DLOPEN ON)
+ # use this on Mac OS X 10.3-
+ option(LUA_USE_MACOSX "Mac OS X 10.3-" OFF)
+ elseif(CYGWIN)
+ set(DEFAULT_POSIX TRUE)
+ elseif(UNIX)
+ set(DEFAULT_POSIX TRUE)
+ elseif(WIN32)
+ set(LUA_WIN TRUE)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_BUILD_AS_DLL")
+ else(APPLE)
+ set(DEFAULT_ANSI TRUE)
+ endif(APPLE)
+endif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+
+#
+# setup config options
+#
+if(WIN32)
+ set(BUILD_STATIC OFF)
+else(WIN32)
+ option(BUILD_STATIC "build static library" ON)
+endif(WIN32)
+
+if(DEFAULT_DLOPEN)
+ option(LUA_USE_DLOPEN "Enable dlopen support." ON)
+else(DEFAULT_DLOPEN)
+ option(LUA_USE_DLOPEN "Enable dlopen support." OFF)
+endif(DEFAULT_DLOPEN)
+
+if(DEFAULT_POSIX)
+ option(LUA_USE_CURSES "Enable Curses support." ON)
+ option(LUA_USE_MKSTEMP "Use mkstemp." ON)
+ option(LUA_USE_ISATTY "Enable isatty support." ON)
+ option(LUA_USE_POPEN "Enable lua_popen support." ON)
+ option(LUA_USE_ULONGJMP "Try using _longjmp/_setjmp (more efficient)" ON)
+else(DEFAULT_POSIX)
+ option(LUA_USE_CURSES "Enable Curses support." OFF)
+ option(LUA_USE_MKSTEMP "Use mkstemp." OFF)
+ option(LUA_USE_ISATTY "Enable isatty support." OFF)
+ option(LUA_USE_POPEN "Enable lua_popen support." OFF)
+ option(LUA_USE_ULONGJMP "Try using _longjmp/_setjmp (more efficient)" OFF)
+endif(DEFAULT_POSIX)
+
+if(DEFAULT_READLINE)
+ option(LUA_USE_READLINE "Enable readline support." ON)
+else(DEFAULT_READLINE)
+ option(LUA_USE_READLINE "Enable readline support." OFF)
+endif(DEFAULT_READLINE)
+
+if(DEFAULT_ANSI)
+ option(LUA_ANSI "Disable non-ansi features." ON)
+else(DEFAULT_ANSI)
+ option(LUA_ANSI "Disable non-ansi features." OFF)
+endif(DEFAULT_ANSI)
+
+option(LUA_USE_APICHECK "Enable API checks." OFF)
+
+#
+# Lua version
+#
+set(LUA_VERSION_MAJOR 5)
+set(LUA_VERSION_MINOR 1)
+set(LUA_VERSION_PATCH 4)
+set(LUA_VERSION
+ "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}")
+set(LUA_SOVERSION
+ "${LUA_VERSION_MAJOR}")
+#
+# Lua package info.
+#
+set(CPACK_PACKAGE_VERSION_MAJOR ${LUA_VERSION_MAJOR})
+set(CPACK_PACKAGE_VERSION_MINOR ${LUA_VERSION_MINOR})
+set(CPACK_PACKAGE_VERSION_PATCH ${LUA_VERSION_PATCH})
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYRIGHT")
+#set(CPACK_RESOURCE_FILE_README "${CMAKE_CURRENT_SOURCE_DIR}/README")
+set(CPACK_PACKAGE_VENDOR "Lua.org, PUC-Rio.")
+set(CPACK_SOURCE_GENERATOR "TGZ")
+set(CPACK_SOURCE_IGNORE_FILES
+"/\\\\.;/\\\\.git.*/;~$;build/;CMakeFiles/;CMakeCache;Testing/;cmake_install;CPack;Dart;Makefile$")
+set(CPACK_SOURCE_PACKAGE_FILE_NAME
+ "${CMAKE_PROJECT_NAME}-${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}")
+# MUST be after CPACK_* variables.
+include(CPack)
+
+#
+# libs & cflags
+#
+set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -lm ")
+
+# For "Mac OS X 10.3-"
+if(LUA_USE_MACOSX)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_MACOSX")
+ set(LUA_USE_DLOPEN FALSE)
+endif(LUA_USE_MACOSX)
+
+# enable options
+if(LUA_USE_DLOPEN)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_DLOPEN")
+ if(NOT APPLE)
+ set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -ldl ")
+ endif(NOT APPLE)
+endif(LUA_USE_DLOPEN)
+if(LUA_USE_MKSTEMP)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_MKSTEMP")
+endif(LUA_USE_MKSTEMP)
+if(LUA_USE_ISATTY)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_ISATTY")
+endif(LUA_USE_ISATTY)
+if(LUA_USE_POPEN)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_POPEN")
+endif(LUA_USE_POPEN)
+if(LUA_USE_ULONGJMP)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_ULONGJMP")
+endif(LUA_USE_ULONGJMP)
+if(LUA_USE_APICHECK)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_APICHECK")
+endif(LUA_USE_APICHECK)
+if(LUA_ANSI)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_ANSI")
+endif(LUA_ANSI)
+
+# readline support
+if(LUA_USE_READLINE)
+ FIND_PATH(READLINE_INCLUDE_DIR readline/readline.h)
+ FIND_LIBRARY(READLINE_LIBRARY NAMES readline)
+ if(READLINE_LIBRARY)
+ set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_READLINE")
+ set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -lreadline -lhistory")
+ include_directories(${READLINE_INCLUDE_DIR})
+ endif(READLINE_LIBRARY)
+endif(LUA_USE_READLINE)
+
+# curses
+if(LUA_USE_CURSES)
+ include(FindCurses)
+ if(CURSES_LIBRARY)
+ include_directories(${CURSES_INCLUDE_DIR})
+ set(LIBS ${LIBS} ${CURSES_LIBRARY})
+ endif(CURSES_LIBRARY)
+endif(LUA_USE_CURSES)
+
+#
+# standard flags to use for each build type.
+#
+if(CMAKE_COMPILER_IS_GNUCC)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wextra -Wshadow -W -pedantic -std=gnu99")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g")
+ set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_PROFILE} -O1 -g")
+ set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_WITHDEBINFO} -O2 -g")
+endif(CMAKE_COMPILER_IS_GNUCC)
+
+#
+# Install extra header files & manpages
+#
+#install(FILES
+# etc/lua.hpp
+# DESTINATION include)
+#install(FILES
+# doc/lua.1
+# doc/luac.1
+# DESTINATION man/man1)
+
+#
+# sub-folders
+#
+ADD_SUBDIRECTORY(src build)
+#ADD_SUBDIRECTORY(test)
+