Immensly increase lua/luabind detection and check in buildsystem.
Instead of including the `luabind.hpp` header that transitively includes basically everything else, we now only include the appropriate header for luabind's open function. It is important that this function is declared in the header but the definition comes from the luabind shared object (library), such that we can detect linker errors, too. By only including this header, we also no longer transitively include the header for the `luaL_newstate` function, with we have to add manually. With these changes, detecting, compiling, linking and checking for lua/luabind with cmake now works instantly, instead of the 3-4 seconds as it was before! Yay, progress!
This commit is contained in:
parent
809bdb7c1f
commit
ca0f8ed653
@ -1,7 +1,7 @@
|
|||||||
INCLUDE (CheckCXXSourceCompiles)
|
INCLUDE (CheckCXXSourceCompiles)
|
||||||
unset(LUABIND_WORKS CACHE)
|
unset(LUABIND_WORKS CACHE)
|
||||||
unset(LUABIND51_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 (LUABIND_CHECK_SRC "extern \"C\" {\n#include \"lua.h\"\n#include \"lauxlib.h\"\n}\n#include <luabind/open.hpp>\nint main() { lua_State *x = luaL_newstate(); luabind::open(x); }")
|
||||||
set (CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
|
set (CMAKE_TRY_COMPILE_CONFIGURATION ${CMAKE_BUILD_TYPE})
|
||||||
set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
|
set (CMAKE_REQUIRED_INCLUDES "${Boost_INCLUDE_DIR};${LUABIND_INCLUDE_DIR};${LUA_INCLUDE_DIR}")
|
||||||
set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
|
set (CMAKE_REQUIRED_LIBRARIES "${LUABIND_LIBRARY};${LUA_LIBRARY}")
|
||||||
|
Loading…
Reference in New Issue
Block a user