From f6232d71b64da651b2f6b08461b151fcbff05fd5 Mon Sep 17 00:00:00 2001 From: Sfan5 Date: Sun, 23 Feb 2014 18:16:00 +0100 Subject: [PATCH] Fix test for broken LuaJIT versions, solves #1152 --- src/CMakeLists.txt | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 85ce03b79..a5cad8fc1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -220,15 +220,17 @@ if(LUA_LIBRARY AND LUA_INCLUDE_DIR) if(CMAKE_CROSSCOMPILING) message(WARNING "Cross-compiling enabled, assuming LuaJIT is not broken") set(VALID_LUAJIT_VERSION 1) - elseif(CMAKE_CROSSCOMPILING) + else(CMAKE_CROSSCOMPILING) set(BACKUP_REQUIRED_INCS CMAKE_REQUIRED_INCLUDES) set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES} ${LUA_INCLUDE_DIR}") CHECK_C_SOURCE_RUNS(" #include #include #include - - static char** broken_luajit_versions = (char *[]) { + + #define ARRAYSIZE(a) (sizeof(a) / sizeof((a)[0])) + + static char *broken_luajit_versions[] = { \"LuaJIT 2.0.0-beta7\", \"LuaJIT 2.0.0-beta6\", \"LuaJIT 2.0.0-beta5\", @@ -237,10 +239,11 @@ if(LUA_LIBRARY AND LUA_INCLUDE_DIR) \"LuaJIT 2.0.0-beta2\", \"LuaJIT 2.0.0-beta1\" }; - int main(int argc,char** argv) { - unsigned int i = 0; - for (i=0; i < sizeof(broken_luajit_versions); i++) { - if (strcmp(LUAJIT_VERSION,broken_luajit_versions[i]) == 0) { + + int main(int argc, char *argv[]) { + unsigned int i; + for (i = 0; i < ARRAYSIZE(broken_luajit_versions); i++) { + if (strcmp(LUAJIT_VERSION, broken_luajit_versions[i]) == 0) { return 1; } }