[Lldb-commits] Optional Dependencies in LLDB

Hey Greg,

editline seems like a bad example as being optional as I wouldn't want to use a LLDB that doesn't have editline support. Or are we taking care of this by having the cmake settings files (lldb/cmake/caches/*.cmake) for each system contain the right invocations and most people are expected to use those?

This argument could be made for most of the optional dependencies.
Having said that, there are also use cases where you don't care about
editline at all. Think about people making changes to the clang
APIwant to build LLDB to ensure they didn't break anything. As a
developer, you'll have the dependencies whether they're mandatory or
not, so nothing really changes. This does become important when you're
planning to distribute lldb, which is where I think the caches are an
excellent idea.

Is there an easy way to show all of the LLDB_ENABLE_* values or do we need to search all CMakeLists.txt for this value?

They're currently only listed in LLDBConfig.cmake

add_optional_dependency(LLDB_ENABLE_LIBEDIT ...
add_optional_dependency(LLDB_ENABLE_CURSES ...
add_optional_dependency(LLDB_ENABLE_LZMA ...
add_optional_dependency(LLDB_ENABLE_LUA ...
add_optional_dependency(LLDB_ENABLE_PYTHON ...

I'll add an entry on the build page to make this easier to discover.
Thanks for bringing this up!