Without that build of Host, Core and Interpreter with custom libedit fails.
Details
Diff Detail
- Repository
- rLLDB LLDB
Event Timeline
Everything that includes Host/Editline.h (Host/Editline.cpp, Core/IOHandler.cpp, ...). Build fails with "fatal error: histedit.h: No such file or directory"
Can you use target_include_directories instead and do this only on lldbHost instead please? That restricts the inclusion to just that target, which would help prevent accidental inclusion of the headers. That is the change should be to source/Host/CMakeLists.txt.
Unfortunately, doing this only on lldbHost is not enough, because CMake doesn't propagate include directories to dependent projects. I added these lines to every project that includes "Editline.h".
It definitely shouldn't be PUBLIC, PRIVATE makes sense for this inclusion. Is there a library that pulls in the dependency (that is, do the other libraries need it due to lldbHost? If so, just adding it as INTERFACE on that library should be sufficient).
LLDB's static libraries link each other as INTERFACE, that's why CMake doesn't propagate lldbHost's include directories to lldbCore and lldbInterpreter.
For lldbHost itself, I had to use PUBLIC, because its sources require includes libedit headers and unittests inherit this path too.