BuildLua.cmake (1563B)
1 if(CMAKE_SYSTEM_NAME STREQUAL "Linux") 2 set(LUA_TARGET linux) 3 elseif(APPLE) 4 set(LUA_TARGET macosx) 5 elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") 6 set(LUA_TARGET freebsd) 7 elseif(CMAKE_SYSTEM_NAME MATCHES "BSD") 8 set(LUA_TARGET bsd) 9 elseif(CMAKE_SYSTEM_NAME MATCHES "^MINGW") 10 set(LUA_TARGET mingw) 11 else() 12 if(UNIX) 13 set(LUA_TARGET posix) 14 else() 15 set(LUA_TARGET generic) 16 endif() 17 endif() 18 19 set(LUA_CFLAGS "-O2 -g3 -fPIC") 20 set(LUA_LDFLAGS "") 21 22 if(ENABLE_ASAN_UBSAN) 23 set(LUA_CFLAGS "${LUA_CFLAGS} -fsanitize=address") 24 set(LUA_CFLAGS "${LUA_CFLAGS} -fno-omit-frame-pointer") 25 set(LUA_CFLAGS "${LUA_CFLAGS} -fno-optimize-sibling-calls") 26 27 set(LUA_LDFLAGS "${LUA_LDFLAGS} -fsanitize=address") 28 endif() 29 30 set(LUA_CONFIGURE_COMMAND 31 sed -e "/^CC/s@gcc@${CMAKE_C_COMPILER}@" 32 -e "/^CFLAGS/s@-O2@${LUA_CFLAGS}@" 33 -e "/^MYLDFLAGS/s@$@${LUA_LDFLAGS}@" 34 -e "s@-lreadline@@g" 35 -e "s@-lhistory@@g" 36 -e "s@-lncurses@@g" 37 -i ${DEPS_BUILD_DIR}/src/lua/src/Makefile && 38 sed -e "/#define LUA_USE_READLINE/d" 39 -e "s@\\(#define LUA_ROOT[ ]*\"\\)/usr/local@\\1${DEPS_INSTALL_DIR}@" 40 -i ${DEPS_BUILD_DIR}/src/lua/src/luaconf.h) 41 set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}") 42 43 get_externalproject_options(lua ${DEPS_IGNORE_SHA}) 44 ExternalProject_Add(lua 45 DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/lua 46 CONFIGURE_COMMAND "${LUA_CONFIGURE_COMMAND}" 47 BUILD_IN_SOURCE 1 48 BUILD_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET} 49 INSTALL_COMMAND ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install 50 ${EXTERNALPROJECT_OPTIONS})