Author: Jonas Devlieghere Date: 2019-12-20T15:35:43-08:00 New Revision: fe86289bf19b165e34f66d9411469131a77d0110
URL: https://github.com/llvm/llvm-project/commit/fe86289bf19b165e34f66d9411469131a77d0110 DIFF: https://github.com/llvm/llvm-project/commit/fe86289bf19b165e34f66d9411469131a77d0110.diff LOG: Revert "[lldb/CMake] Change how we deal with optional dependencies" This is failing on both the Windows and Debian bot. Added: Modified: lldb/cmake/modules/LLDBConfig.cmake lldb/test/CMakeLists.txt Removed: lldb/cmake/modules/FindCursesAndPanel.cmake ################################################################################ diff --git a/lldb/cmake/modules/FindCursesAndPanel.cmake b/lldb/cmake/modules/FindCursesAndPanel.cmake deleted file mode 100644 index 25709ddf5ff9..000000000000 --- 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 586d1cbb25e5..16465ded0522 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) diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt index 4d9dfa561782..b22ef6b79d50 100644 --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -145,7 +145,6 @@ endif() llvm_canonicalize_cmake_booleans( LLDB_ENABLE_PYTHON LLDB_ENABLE_LUA - LLDB_ENABLE_LZMA LLVM_ENABLE_ZLIB LLVM_ENABLE_SHARED_LIBS LLDB_IS_64_BITS) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits