1 cmake_minimum_required(VERSION 2.4 FATAL_ERROR)
5 set(LUA_VERSION_MAJOR 5)
6 set(LUA_VERSION_MINOR 1)
7 set(LUA_VERSION_PATCH 4)
8 set(LUA_VERSION "${LUA_VERSION_MAJOR}.${LUA_VERSION_MINOR}.${LUA_VERSION_PATCH}")
10 set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
17 set(DEFAULT_POSIX TRUE)
18 set(DEFAULT_DLOPEN ON)
19 # use this on Mac OS X 10.3-
20 option(LUA_USE_MACOSX "Mac OS X 10.3-" OFF)
21 elseif(UNIX OR CYGWIN)
22 set(DEFAULT_POSIX TRUE)
25 set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_BUILD_AS_DLL")
27 set(DEFAULT_ANSI TRUE)
30 if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
31 set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -Wl,-E -lm")
32 set(DEFAULT_DLOPEN ON)
35 # For "Mac OS X 10.3-"
37 set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_MACOSX")
38 set(LUA_USE_DLOPEN FALSE)
41 option(LUA_USE_DLOPEN "Enable dlopen support." ${DEFAULT_DLOPEN})
42 mark_as_advanced(LUA_USE_DLOPEN)
44 option(LUA_ANSI "Disable non-ANSI features." ${DEFAULT_ANSI})
45 mark_as_advanced(LUA_ANSI)
48 set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_DLOPEN")
50 set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -ldl ")
55 set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_USE_POSIX")
59 set(COMMON_CFLAGS "${COMMON_CFLAGS} -DLUA_ANSI")
62 # COMMON_CFLAGS has no effect without this line
63 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${COMMON_CFLAGS}")
66 # Standard flags to use for each build type.
67 if(CMAKE_COMPILER_IS_GNUCC)
68 set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -Wall -Wextra -Wshadow -W -pedantic -std=gnu99")
69 set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
70 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -g")
71 set(CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_PROFILE} -O1 -g")
72 set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_WITHDEBINFO} -O2 -g")
73 endif(CMAKE_COMPILER_IS_GNUCC)
76 add_subdirectory(src build)