neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

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})