diff --git a/lldb/cmake/modules/FindLuaAndSwig.cmake b/lldb/cmake/modules/FindLuaAndSwig.cmake new file mode 100644 index 00000000000..2e99933a745 --- /dev/null +++ b/lldb/cmake/modules/FindLuaAndSwig.cmake @@ -0,0 +1,31 @@ +#.rst: +# FindLuaAndSwig +# -------------- +# +# Find Lua and SWIG as a whole. + +if(LUA_LIBRARIES AND LUA_INCLUDE_DIR AND SWIG_EXECUTABLE) + set(LUAANDSWIG_FOUND TRUE) +else() + find_package(SWIG 2.0 QUIET) + if (SWIG_FOUND) + find_package(Lua QUIET) + if(LUA_FOUND AND SWIG_FOUND) + mark_as_advanced( + LUA_LIBRARIES + LUA_INCLUDE_DIR + SWIG_EXECUTABLE) + endif() + else() + message(STATUS "SWIG 2 or later is required for Lua support in LLDB but could not be found") + endif() + + include(FindPackageHandleStandardArgs) + find_package_handle_standard_args(LuaAndSwig + FOUND_VAR + LUAANDSWIG_FOUND + REQUIRED_VARS + LUA_LIBRARIES + LUA_INCLUDE_DIR + SWIG_EXECUTABLE) +endif() diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake index c4ec7fd7cd9..4a15a343ee1 100644 --- a/lldb/cmake/modules/LLDBConfig.cmake +++ b/lldb/cmake/modules/LLDBConfig.cmake @@ -56,7 +56,7 @@ endmacro() add_optional_dependency(LLDB_ENABLE_LIBEDIT "Enable editline support in LLDB" LibEdit LibEdit_FOUND) add_optional_dependency(LLDB_ENABLE_CURSES "Enable curses support in LLDB" CursesAndPanel CURSESANDPANEL_FOUND) add_optional_dependency(LLDB_ENABLE_LZMA "Enable LZMA compression support in LLDB" LibLZMA LIBLZMA_FOUND) -add_optional_dependency(LLDB_ENABLE_LUA "Enable Lua scripting support in LLDB" Lua LUA_FOUND) +add_optional_dependency(LLDB_ENABLE_LUA "Enable Lua scripting support in LLDB" LuaAndSwig LUAANDSWIG_FOUND) add_optional_dependency(LLDB_ENABLE_PYTHON "Enable Python scripting support in LLDB" PythonInterpAndLibs PYTHONINTERPANDLIBS_FOUND) add_optional_dependency(LLDB_ENABLE_LIBXML2 "Enable Libxml 2 support in LLDB" LibXml2 LIBXML2_FOUND VERSION 2.8)