Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIlya Zverev <ilya@zverev.info>2017-03-18 11:17:33 +0300
committerGitHub <noreply@github.com>2017-03-18 11:17:33 +0300
commita9810e2f94c358a52dd68a47b762c9625fb10200 (patch)
treeec1d983067cf99012ae9ddc4975dd656b240a0ba
parent84914a4d88fa7ff4991a8ee318647e3755046cc1 (diff)
parentf5c10dfc61d265d9392864db023f9630f4f5b1ef (diff)
Merge pull request #5616 from berolinux/detect-luabeta-691beta-690
Fix Lua detection
-rwxr-xr-x3party/osrm/osrm-backend/cmake/FindLua52.cmake1
-rwxr-xr-x3party/osrm/osrm-backend/cmake/FindLua53.cmake82
-rwxr-xr-x3party/osrm/osrm-backend/cmake/FindLuaJIT.cmake2
-rwxr-xr-x3party/osrm/osrm-backend/cmake/check_luabind.cmake62
4 files changed, 131 insertions, 16 deletions
diff --git a/3party/osrm/osrm-backend/cmake/FindLua52.cmake b/3party/osrm/osrm-backend/cmake/FindLua52.cmake
index d17fbf61d3..04dcf7ac7f 100755
--- a/3party/osrm/osrm-backend/cmake/FindLua52.cmake
+++ b/3party/osrm/osrm-backend/cmake/FindLua52.cmake
@@ -79,4 +79,3 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua52
VERSION_VAR LUA_VERSION_STRING)
mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
-
diff --git a/3party/osrm/osrm-backend/cmake/FindLua53.cmake b/3party/osrm/osrm-backend/cmake/FindLua53.cmake
new file mode 100755
index 0000000000..347a093658
--- /dev/null
+++ b/3party/osrm/osrm-backend/cmake/FindLua53.cmake
@@ -0,0 +1,82 @@
+# Locate Lua library
+# This module defines
+# LUA53_FOUND, if false, do not try to link to Lua
+# LUA_LIBRARIES
+# LUA_INCLUDE_DIR, where to find lua.h
+# LUA_VERSION_STRING, the version of Lua found (since CMake 2.8.8)
+#
+# Note that the expected include convention is
+# #include "lua.h"
+# and not
+# #include <lua/lua.h>
+# This is because, the lua location is not standardized and may exist
+# in locations other than lua/
+
+#=============================================================================
+# Copyright 2007-2009 Kitware, Inc.
+# Copyright 2013 for Project-OSRM, Lua5.1 => Lua5.2
+# Copyright 2017 for LinDev, Lua5.2 => Lua5.3
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+# (To distribute this file outside of CMake, substitute the full
+# License text for the above reference.)
+
+find_path(LUA_INCLUDE_DIR lua.h
+ HINTS
+ ENV LUA_DIR
+ PATH_SUFFIXES include/lua53 include/lua5.3 include/lua-5.3 include/lua include
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/csw # Blastwave
+ /opt
+)
+
+find_library(LUA_LIBRARY
+ NAMES lua53 lua5.3 lua-5.3 lua
+ HINTS
+ ENV LUA_DIR
+ PATH_SUFFIXES lib
+ PATHS
+ ~/Library/Frameworks
+ /Library/Frameworks
+ /sw
+ /opt/local
+ /opt/csw
+ /opt
+)
+
+if(LUA_LIBRARY)
+ # include the math library for Unix
+ if(UNIX AND NOT APPLE AND NOT BEOS)
+ find_library(LUA_MATH_LIBRARY m)
+ set( LUA_LIBRARIES "${LUA_LIBRARY};${LUA_MATH_LIBRARY}" CACHE STRING "Lua Libraries")
+ # For Windows and Mac, don't need to explicitly include the math library
+ else()
+ set( LUA_LIBRARIES "${LUA_LIBRARY}" CACHE STRING "Lua Libraries")
+ endif()
+endif()
+
+if(LUA_INCLUDE_DIR AND EXISTS "${LUA_INCLUDE_DIR}/lua.h")
+ file(STRINGS "${LUA_INCLUDE_DIR}/lua.h" lua_version_str REGEX "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua .+\"")
+
+ string(REGEX REPLACE "^#define[ \t]+LUA_RELEASE[ \t]+\"Lua ([^\"]+)\".*" "\\1" LUA_VERSION_STRING "${lua_version_str}")
+ unset(lua_version_str)
+endif()
+
+include(FindPackageHandleStandardArgs)
+# handle the QUIETLY and REQUIRED arguments and set LUA_FOUND to TRUE if
+# all listed variables are TRUE
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(Lua53
+ REQUIRED_VARS LUA_LIBRARIES LUA_INCLUDE_DIR
+ VERSION_VAR LUA_VERSION_STRING)
+
+mark_as_advanced(LUA_INCLUDE_DIR LUA_LIBRARIES LUA_LIBRARY LUA_MATH_LIBRARY)
diff --git a/3party/osrm/osrm-backend/cmake/FindLuaJIT.cmake b/3party/osrm/osrm-backend/cmake/FindLuaJIT.cmake
index 5d5e6aceb4..e0866062c5 100755
--- a/3party/osrm/osrm-backend/cmake/FindLuaJIT.cmake
+++ b/3party/osrm/osrm-backend/cmake/FindLuaJIT.cmake
@@ -39,7 +39,7 @@ ENDIF()
FIND_PATH(LUAJIT_INCLUDE_DIR lua.h
HINTS
$ENV{LUAJIT_DIR}
- PATH_SUFFIXES include/luajit-2.0 include/luajit2.0 include/luajit include
+ PATH_SUFFIXES include/luajit-2.1 include/luajit2.1 include/luajit-2.0 include/luajit2.0 include/luajit include
PATHS
~/Library/Frameworks
/Library/Frameworks
diff --git a/3party/osrm/osrm-backend/cmake/check_luabind.cmake b/3party/osrm/osrm-backend/cmake/check_luabind.cmake
index 18f065666b..c4bf6365fa 100755
--- a/3party/osrm/osrm-backend/cmake/check_luabind.cmake
+++ b/3party/osrm/osrm-backend/cmake/check_luabind.cmake
@@ -1,40 +1,74 @@
INCLUDE (CheckCXXSourceCompiles)
unset(LUABIND_WORKS CACHE)
+unset(LUABIND52_WORKS CACHE)
unset(LUABIND51_WORKS CACHE)
set (LUABIND_CHECK_SRC "#include \"lua.h\"\n#include <luabind/luabind.hpp>\n int main() { lua_State *myLuaState = luaL_newstate(); luabind::open(myLuaState); return 0;}")
set (CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
-find_package(Lua52)
+find_package(Lua53)
if(NOT APPLE)
- find_package(LuaJIT 5.2)
+ find_package(LuaJIT 5.3)
endif()
-if(LUA52_FOUND)
+if(LUAJIT_FOUND AND NOT LUA53_FOUND)
+ set(LUA_INCLUDE_DIR "${LUAJIT_INCLUDE_DIR}")
+ set(LUA_LIBRARY "${LUAJIT_LIBRARY}")
+endif()
+if(LUA53_FOUND OR LUAJIT_FOUND)
set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
CHECK_CXX_SOURCE_COMPILES("${LUABIND_CHECK_SRC}" LUABIND_WORKS)
endif()
if(LUABIND_WORKS)
- message(STATUS "Luabind/Lua5.2 combination working with ${LUA_LIBRARY}")
+ message(STATUS "Luabind/Lua5.3 combination working with ${LUA_LIBRARY}")
else()
- message(STATUS "Luabind/Lua5.2 not feasible, falling back to Lua 5.1.")
+ message(STATUS "Luabind/Lua5.3 not feasible, falling back to Lua 5.2.")
unset(LUA_FOUND CACHE)
unset(LUA_INCLUDE_DIR CACHE)
unset(LUA_LIBRARY CACHE)
- find_package(Lua51 REQUIRED)
+ find_package(Lua52)
if(NOT APPLE)
- find_package(LuaJIT 5.1)
+ find_package(LuaJIT 5.2)
+ endif()
+ if(LUAJIT_FOUND AND NOT LUA52_FOUND)
+ set(LUA_INCLUDE_DIR "${LUAJIT_INCLUDE_DIR}")
+ set(LUA_LIBRARY "${LUAJIT_LIBRARY}")
+ endif()
+ if(LUA52_FOUND OR LUAJIT_FOUND)
+ set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
+ set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
+ CHECK_CXX_SOURCE_COMPILES("${LUABIND_CHECK_SRC}" LUABIND52_WORKS)
endif()
- set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
- set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
-
- CHECK_CXX_SOURCE_COMPILES("${LUABIND_CHECK_SRC}" LUABIND51_WORKS)
- if(LUABIND51_WORKS)
- message(STATUS "Luabind works with Lua 5.1 at ${LUA_LIBRARY}")
+ if(LUABIND52_WORKS)
+ message(STATUS "Luabind/Lua5.2 combination working with ${LUA_LIBRARY}")
else()
- message(FATAL_ERROR "Luabind does not work with Lua 5.1 at ${LUA_LIBRARY}, no working Luabind found")
+ message(STATUS "Luabind/Lua5.2 not feasible, falling back to Lua 5.1.")
+ unset(LUA_FOUND CACHE)
+ unset(LUA_INCLUDE_DIR CACHE)
+ unset(LUA_LIBRARY CACHE)
+ find_package(Lua51)
+ if(NOT APPLE)
+ find_package(LuaJIT 5.1)
+ endif()
+ if(NOT LUA51_FOUND AND NOT LUAJIT_FOUND)
+ message(FATAL_ERROR "Can't find Lua or LuaJIT 5.1")
+ endif()
+ if(NOT LUA51_FOUND)
+ set(LUA_INCLUDE_DIR "${LUAJIT_INCLUDE_DIR}")
+ set(LUA_LIBRARY "${LUAJIT_LIBRARY}")
+ endif()
+ set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
+ set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
+
+ CHECK_CXX_SOURCE_COMPILES("${LUABIND_CHECK_SRC}" LUABIND51_WORKS)
+
+ if(LUABIND51_WORKS)
+ message(STATUS "Luabind works with Lua 5.1 at ${LUA_LIBRARY}")
+ else()
+ message(FATAL_ERROR "Luabind does not work with Lua 5.1 at ${LUA_LIBRARY}, no working Luabind found")
+ endif()
endif()
endif()