Index: lldb/cmake/modules/FindCursesAndPanel.cmake =================================================================== --- /dev/null +++ lldb/cmake/modules/FindCursesAndPanel.cmake @@ -0,0 +1,16 @@ +#.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() + Index: lldb/cmake/modules/LLDBConfig.cmake =================================================================== --- lldb/cmake/modules/LLDBConfig.cmake +++ lldb/cmake/modules/LLDBConfig.cmake @@ -25,7 +25,7 @@ endif() function(add_optional_dependency variable description package found) - set(${variable} "AUTO" CACHE STRING "${description} On, Off or Auto (default)") + set(${variable} "Auto" CACHE STRING "${description} On, Off or Auto (default)") string(TOUPPER "${${variable}}" ${variable}) if("${${variable}}" STREQUAL "AUTO") @@ -38,17 +38,12 @@ endif() find_package(${package} ${maybe_required}) - # We could set ${variable} directory to ${${found}} but then the value is - # TRUE/FALSE rather than ON/OFF. - if (${${found}}) - set(${variable} ON PARENT_SCOPE) - else() - set(${variable} OFF PARENT_SCOPE) - endif() + 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." Curses CURSES_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) set(default_enable_python ON) @@ -406,12 +401,9 @@ 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 Index: lldb/test/CMakeLists.txt =================================================================== --- lldb/test/CMakeLists.txt +++ lldb/test/CMakeLists.txt @@ -144,6 +144,7 @@ # These values are not canonicalized within LLVM. llvm_canonicalize_cmake_booleans( LLDB_ENABLE_PYTHON + LLDB_ENABLE_LZMA LLVM_ENABLE_ZLIB LLVM_ENABLE_SHARED_LIBS LLDB_IS_64_BITS)