diff options
| author | Jonas Devlieghere <jonas@devlieghere.com> | 2019-12-20 15:34:51 -0800 |
|---|---|---|
| committer | Jonas Devlieghere <jonas@devlieghere.com> | 2019-12-20 15:35:43 -0800 |
| commit | fe86289bf19b165e34f66d9411469131a77d0110 (patch) | |
| tree | 739f56c0a68b16573f491337e87defcb80a09680 /lldb/cmake/modules | |
| parent | fa4701e1979553c2df61698ac1ac212627630442 (diff) | |
| download | bcm5719-llvm-fe86289bf19b165e34f66d9411469131a77d0110.tar.gz bcm5719-llvm-fe86289bf19b165e34f66d9411469131a77d0110.zip | |
Revert "[lldb/CMake] Change how we deal with optional dependencies"
This is failing on both the Windows and Debian bot.
Diffstat (limited to 'lldb/cmake/modules')
| -rw-r--r-- | lldb/cmake/modules/FindCursesAndPanel.cmake | 16 | ||||
| -rw-r--r-- | lldb/cmake/modules/LLDBConfig.cmake | 74 |
2 files changed, 44 insertions, 46 deletions
diff --git a/lldb/cmake/modules/FindCursesAndPanel.cmake b/lldb/cmake/modules/FindCursesAndPanel.cmake deleted file mode 100644 index 25709ddf5ff..00000000000 --- a/lldb/cmake/modules/FindCursesAndPanel.cmake +++ /dev/null @@ -1,16 +0,0 @@ -#.rst: -# FindCursesAndPanel -# ----------- -# -# Find the curses and panel library as a whole. - -if(CURSES_INCLUDE_DIRS AND CURSES_LIBRARIES AND PANEL_LIBRARIES) - set(CURSES_PANEL_FOUND TRUE) -else() - find_package(Curses QUIET) - find_library(PANEL_LIBRARIES NAMES panel DOC "The curses panel library" QUIET) - if(CURSES_FOUND AND PANEL_LIBRARIES) - mark_as_advanced(CURSES_INCLUDE_DIRS CURSES_LIBRARIES PANEL_LIBRARIES) - endif() -endif() - diff --git a/lldb/cmake/modules/LLDBConfig.cmake b/lldb/cmake/modules/LLDBConfig.cmake index 586d1cbb25e..16465ded052 100644 --- a/lldb/cmake/modules/LLDBConfig.cmake +++ b/lldb/cmake/modules/LLDBConfig.cmake @@ -18,43 +18,39 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR) "`CMakeFiles'. Please delete them.") endif() -set(LLDB_LINKER_SUPPORTS_GROUPS OFF) -if (LLVM_COMPILER_IS_GCC_COMPATIBLE AND NOT "${CMAKE_SYSTEM_NAME}" MATCHES "Darwin") - # The Darwin linker doesn't understand --start-group/--end-group. - set(LLDB_LINKER_SUPPORTS_GROUPS ON) -endif() - -function(add_optional_dependency variable description package found) - set(${variable} "Auto" CACHE STRING "${description} On, Off or Auto (default)") - string(TOUPPER "${${variable}}" ${variable}) - - if("${${variable}}" STREQUAL "AUTO") - set(maybe_required) - elseif(${${variable}}) - set(maybe_required REQUIRED) - else() - set(${variable} OFF PARENT_SCOPE) - return() +set(default_enable_python ON) +set(default_enable_lua OFF) # Experimental +set(default_enable_libedit ON) +set(default_enable_curses ON) + +# Temporarily support the old LLDB_DISABLE_* variables +if (DEFINED LLDB_DISABLE_PYTHON) + if (LLDB_DISABLE_PYTHON) + set(default_enable_python OFF) endif() +endif() - find_package(${package} ${maybe_required}) - set(${variable} ${${found}} PARENT_SCOPE) -endfunction() - -add_optional_dependency(LLDB_ENABLE_LIBEDIT "Enable editline support." LibEdit libedit_FOUND) -add_optional_dependency(LLDB_ENABLE_CURSES "Enable curses support." CursesAndPanel CURSES_PANEL_FOUND) -add_optional_dependency(LLDB_ENABLE_LZMA "Enable LZMA compression support." LibLZMA LIBLZMA_FOUND) -add_optional_dependency(LLDB_ENABLE_LUA "Enable Lua scripting support." Lua LUA_FOUND) - -set(default_enable_python ON) +if(DEFINED LLVM_ENABLE_LIBEDIT AND NOT LLVM_ENABLE_LIBEDIT) + set(default_disable_libedit ON) +endif() -if(CMAKE_SYSTEM_NAME MATCHES "Android") +if(CMAKE_SYSTEM_NAME MATCHES "Windows") + set(default_enable_libedit OFF) + set(default_enable_curses OFF) +elseif(CMAKE_SYSTEM_NAME MATCHES "Android") set(default_enable_python OFF) + set(default_enable_lua OFF) + set(default_enable_libedit OFF) + set(default_enable_curses OFF) elseif(IOS) set(default_enable_python OFF) + set(default_enable_lua OFF) endif() option(LLDB_ENABLE_PYTHON "Enable Python scripting integration." ${default_enable_python}) +option(LLDB_ENABLE_PYTHON "Enable Lua scripting integration." ${default_enable_lua}) +option(LLDB_ENABLE_LIBEDIT "Enable the use of editline." ${default_enable_libedit}) +option(LLDB_ENABLE_CURSES "Enable Curses integration." ${default_enable_curses}) option(LLDB_RELOCATABLE_PYTHON "Use the PYTHONHOME environment variable to locate Python." OFF) option(LLDB_USE_SYSTEM_SIX "Use six.py shipped with system and do not install a copy of it" OFF) option(LLDB_USE_ENTITLEMENTS "When codesigning, use entitlements if available" ON) @@ -117,9 +113,15 @@ if ((NOT MSVC) OR MSVC12) add_definitions( -DHAVE_ROUND ) endif() -# Check if we libedit capable of handling wide characters (built with -# '--enable-widec'). +if (LLDB_ENABLE_LUA) + find_package(Lua REQUIRED) +endif() + if (LLDB_ENABLE_LIBEDIT) + find_package(LibEdit REQUIRED) + + # Check if we libedit capable of handling wide characters (built with + # '--enable-widec'). set(CMAKE_REQUIRED_LIBRARIES ${libedit_LIBRARIES}) set(CMAKE_REQUIRED_INCLUDES ${libedit_INCLUDE_DIRS}) check_symbol_exists(el_winsertstr histedit.h LLDB_EDITLINE_USE_WCHAR) @@ -135,6 +137,7 @@ if (LLDB_ENABLE_LIBEDIT) set(CMAKE_EXTRA_INCLUDE_FILES) endif() + # On Windows, we can't use the normal FindPythonLibs module that comes with CMake, # for a number of reasons. # 1) Prior to MSVC 2015, it is only possible to embed Python if python itself was @@ -395,9 +398,12 @@ endif() set(LLDB_VERSION "${LLDB_VERSION_MAJOR}.${LLDB_VERSION_MINOR}.${LLDB_VERSION_PATCH}${LLDB_VERSION_SUFFIX}") message(STATUS "LLDB version: ${LLDB_VERSION}") +find_package(LibLZMA) +cmake_dependent_option(LLDB_ENABLE_LZMA "Support LZMA compression" ON "LIBLZMA_FOUND" OFF) if (LLDB_ENABLE_LZMA) include_directories(${LIBLZMA_INCLUDE_DIRS}) endif() +llvm_canonicalize_cmake_booleans(LLDB_ENABLE_LZMA) include_directories(BEFORE ${CMAKE_CURRENT_BINARY_DIR}/include @@ -487,6 +493,14 @@ else() set(LLDB_CAN_USE_DEBUGSERVER OFF) endif() +if (LLDB_ENABLE_CURSES) + find_package(Curses REQUIRED) + find_library(CURSES_PANEL_LIBRARY NAMES panel DOC "The curses panel library") + if (NOT CURSES_PANEL_LIBRARY) + message(FATAL_ERROR "A required curses' panel library not found.") + endif () +endif () + if ((CMAKE_SYSTEM_NAME MATCHES "Android") AND LLVM_BUILD_STATIC AND ((ANDROID_ABI MATCHES "armeabi") OR (ANDROID_ABI MATCHES "mips"))) add_definitions(-DANDROID_USE_ACCEPT_WORKAROUND) |

