From abc6b4180c141fe6660e56fda6406e9f357260dc Mon Sep 17 00:00:00 2001 From: Dennis Luxen Date: Fri, 19 Sep 2014 16:33:24 +0200 Subject: [PATCH] better checking for luabind compilation, fixes some OSX woes --- CMakeLists.txt | 12 ------------ cmake/check_luabind.cmake | 33 +++++++++++++++++++++------------ 2 files changed, 21 insertions(+), 24 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 71656083b..a247ec997 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -225,18 +225,6 @@ target_link_libraries(datastructure-tests ${TBB_LIBRARIES}) target_link_libraries(rtree-bench ${TBB_LIBRARIES}) include_directories(${TBB_INCLUDE_DIR}) -find_package(Lua52) -if(NOT LUA52_FOUND) - find_package(Lua51 REQUIRED) - if(NOT APPLE) - find_package(LuaJIT 5.1) - endif() -else() - if(NOT APPLE) - find_package(LuaJIT 5.2) - endif() -endif() - find_package( Luabind REQUIRED ) include(check_luabind) diff --git a/cmake/check_luabind.cmake b/cmake/check_luabind.cmake index dc2396ba5..499134f6a 100644 --- a/cmake/check_luabind.cmake +++ b/cmake/check_luabind.cmake @@ -1,29 +1,38 @@ INCLUDE (CheckCXXSourceCompiles) unset(LUABIND_WORKS CACHE) unset(LUABIND51_WORKS CACHE) -SET (LUABIND_CHECK_SRC "#include \"lua.h\"\n#include \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}") +set (LUABIND_CHECK_SRC "#include \"lua.h\"\n#include \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}") -CHECK_CXX_SOURCE_COMPILES("${LUABIND_CHECK_SRC}" LUABIND_WORKS) +find_package(Lua52) +if(NOT APPLE) + find_package(LuaJIT 5.2) +endif() +if(LUA52_FOUND) + CHECK_CXX_SOURCE_COMPILES("${LUABIND_CHECK_SRC}" LUABIND_WORKS) +endif() if( LUABIND_WORKS ) - MESSAGE("Luabind works with ${LUA_LIBRARY}") + message(STATUS "Luabind/Lua5.2 combination working with ${LUA_LIBRARY}") else() - MESSAGE("Luabind does not work with ${LUA_LIBRARY}, will try Lua 5.1.") + 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) - SET (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}") - SET (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}") + find_package(Lua51 REQUIRED) + if(NOT APPLE) + find_package(LuaJIT 5.1) + 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("Luabind works with Lua 5.1 at ${LUA_LIBRARY}") + 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") + message(FATAL_ERROR "Luabind does not work with Lua 5.1 at ${LUA_LIBRARY}, no working Luabind found") endif() endif()