Something went wrong. Try again.
OpenMW is an open implementation of the Morrowind engine
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940set(TMP_ROOT ${CMAKE_BINARY_DIR}/try-compile)file(MAKE_DIRECTORY ${TMP_ROOT})
file(WRITE ${TMP_ROOT}/checkluacustomallocator.c"#include <stdlib.h>#include <lua.h>
void* custom_alloc(void* ud, void* ptr, size_t osize, size_t nsize) { if (nsize == 0) { free(ptr); return NULL; } else { return realloc(ptr, nsize); }}
int main(void) { return lua_newstate(custom_alloc, NULL) ? 0 : 1;}")
message(STATUS "Checking if Lua allows to provide a custom allocator")
try_run(RUN_RESULT_VAR COMPILE_RESULT_VAR ${TMP_ROOT}/temp ${TMP_ROOT}/checkluacustomallocator.c CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${LUA_INCLUDE_DIR}" LINK_LIBRARIES "${LUA_LIBRARIES}" )
if (NOT ${COMPILE_RESULT_VAR}) message(WARNING "Incorrect Lua library: can't compile checkluacustomallocator.c" )elseif(NOT ${RUN_RESULT_VAR} EQUAL 0) message(WARNING "Incorrect Lua library: custom allocator not supported (likely LuaJit compiled with LJ_64 but without LJ_GC64)" )else() message(STATUS "Lua supports custom allocator")endif()