diff options
Diffstat (limited to 'third-party/cmake/BuildLua.cmake')
-rw-r--r-- | third-party/cmake/BuildLua.cmake | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/third-party/cmake/BuildLua.cmake b/third-party/cmake/BuildLua.cmake index 1c5e2a186c..ea1371d1d5 100644 --- a/third-party/cmake/BuildLua.cmake +++ b/third-party/cmake/BuildLua.cmake @@ -51,19 +51,32 @@ else() endif() endif() +set(LUA_CFLAGS "-O0 -g3 -fPIC") +set(LUA_LDFLAGS "") + +if(CLANG_ASAN_UBSAN) + set(LUA_CFLAGS "${LUA_CFLAGS} -fsanitize=address") + set(LUA_CFLAGS "${LUA_CFLAGS} -fno-omit-frame-pointer") + set(LUA_CFLAGS "${LUA_CFLAGS} -fno-optimize-sibling-calls") + + set(LUA_LDFLAGS "${LUA_LDFLAGS} -fsanitize=address") +endif() + set(LUA_CONFIGURE_COMMAND sed -e "/^CC/s@gcc@${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}@" - -e "/^CFLAGS/s@-O2@-g3@" + -e "/^CFLAGS/s@-O2@${LUA_CFLAGS}@" + -e "/^MYLDFLAGS/s@$@${LUA_LDFLAGS}@" -e "s@-lreadline@@g" -e "s@-lhistory@@g" -e "s@-lncurses@@g" -i ${DEPS_BUILD_DIR}/src/lua/src/Makefile && sed -e "/#define LUA_USE_READLINE/d" -i ${DEPS_BUILD_DIR}/src/lua/src/luaconf.h) +set(LUA_INSTALL_TOP_ARG "INSTALL_TOP=${DEPS_INSTALL_DIR}") set(LUA_BUILD_COMMAND - ${MAKE_PRG} ${LUA_TARGET}) + ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} ${LUA_TARGET}) set(LUA_INSTALL_COMMAND - ${MAKE_PRG} INSTALL_TOP=${DEPS_INSTALL_DIR} install) + ${MAKE_PRG} ${LUA_INSTALL_TOP_ARG} install) message(STATUS "Lua target is ${LUA_TARGET}") |