From 4585fba98b0a4ec50d9cdf0c36f6b49f5a0844c5 Mon Sep 17 00:00:00 2001 From: Sfan5 Date: Sun, 16 Feb 2014 08:07:57 +0100 Subject: [PATCH] Fix broken cross-compiling --- src/CMakeLists.txt | 55 +++++++++++++++++++++++++--------------------- 1 file changed, 30 insertions(+), 25 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 0e4bbbb67..85ce03b79 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -217,34 +217,39 @@ endif (NOT DISABLE_LUAJIT) set(USE_LUAJIT 0) if(LUA_LIBRARY AND LUA_INCLUDE_DIR) message (STATUS "LuaJIT found, checking for broken versions...") - set(BACKUP_REQUIRED_INCS CMAKE_REQUIRED_INCLUDES) - set(CMAKE_REQUIRED_INCLUDES "${CMAKE_REQUIRED_INCLUDES} ${LUA_INCLUDE_DIR}") - CHECK_C_SOURCE_RUNS(" - #include - #include - #include + if(CMAKE_CROSSCOMPILING) + message(WARNING "Cross-compiling enabled, assuming LuaJIT is not broken") + set(VALID_LUAJIT_VERSION 1) + elseif(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 *[]) { - \"LuaJIT 2.0.0-beta7\", - \"LuaJIT 2.0.0-beta6\", - \"LuaJIT 2.0.0-beta5\", - \"LuaJIT 2.0.0-beta4\", - \"LuaJIT 2.0.0-beta3\", - \"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) { - return 1; + static char** broken_luajit_versions = (char *[]) { + \"LuaJIT 2.0.0-beta7\", + \"LuaJIT 2.0.0-beta6\", + \"LuaJIT 2.0.0-beta5\", + \"LuaJIT 2.0.0-beta4\", + \"LuaJIT 2.0.0-beta3\", + \"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) { + return 1; + } } + return 0; } - return 0; - } - " - VALID_LUAJIT_VERSION) - set(CMAKE_REQUIRED_INCLUDES BACKUP_REQUIRED_INCS) + " + VALID_LUAJIT_VERSION) + set(CMAKE_REQUIRED_INCLUDES BACKUP_REQUIRED_INCS) + endif(CMAKE_CROSSCOMPILING) if (VALID_LUAJIT_VERSION) message (STATUS "LuaJIT version ok") set(USE_LUAJIT 1)