diff options
Diffstat (limited to 'lib/lua/CMakeLists.txt')
-rw-r--r-- | lib/lua/CMakeLists.txt | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/lib/lua/CMakeLists.txt b/lib/lua/CMakeLists.txt new file mode 100644 index 000000000..119dd6302 --- /dev/null +++ b/lib/lua/CMakeLists.txt @@ -0,0 +1,77 @@ +cmake_minimum_required(VERSION 2.4 FATAL_ERROR) + +project(lua C) + +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(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + +set(COMMON_CFLAGS) +set(COMMON_LDFLAGS) +set(LIBS) + +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(UNIX OR CYGWIN) + set(DEFAULT_POSIX TRUE) +elseif(WIN32) + set(LUA_WIN TRUE) + set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_BUILD_AS_DLL") +else() + set(DEFAULT_ANSI TRUE) +endif() + +if(CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -Wl,-E -lm") + set(DEFAULT_DLOPEN ON) +endif() + +# 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) + +option(LUA_USE_DLOPEN "Enable dlopen support." ${DEFAULT_DLOPEN}) +mark_as_advanced(LUA_USE_DLOPEN) + +option(LUA_ANSI "Disable non-ANSI features." ${DEFAULT_ANSI}) +mark_as_advanced(LUA_ANSI) + +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(DEFAULT_POSIX) + set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_POSIX") +endif(DEFAULT_POSIX) + +if(LUA_ANSI) + set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_ANSI") +endif(LUA_ANSI) + +# COMMON_CFLAGS has no effect without this line +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_CFLAGS}") + + +# 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) + + +add_subdirectory(src build) + |