Consider including external headers qualified with project directory names
Hello, I'm trying to package OpenXLSX for build2 and cppget.org already has some external dependencies. However, these external dependencies cannot be used as the source files include the headers directly. Example:
//----- XLCellIterator.cpp ---
// ===== External Includes ===== //
#include <pugixml.hpp>
Would you consider qualifying the headers with the directory name for pugixml and zippy?
For example:
#include <pugixml.hpp> ------------> #include <pugixml/pugixml.hpp>
Could you elaborate?
I understand build2 is some kind of package manager - which I see has pugixml, but not zippy.
Changing zippy to a depency (as opposed to using the version shipped with OpenXLSX) is not an easy task, as the version in OpenXLSX is customized and probably deviates a lot from any other version.
The pugixml files in OpenXLSX are almost up-to-date with the master (https://github.com/zeux/pugixml) so that might be possible.
Do you want to use the master pugixml? Or do you want OpenXLSX to use it's own pugixml version in a way that it does not cause a conflict with [email protected]?
Could you provide a minimum example of what you need to change in OpenXLSX? Something that you have modified yourself and it works for build2, but with a minimum change in OpenXLSX folder structure?
If you can fork this project & modify what you need, I can have a look at it & discuss it with @troldal
I have reworked the library (code review is still pending) to hide the pugixml header behind the wrapper header XLXmlParser.hpp.
This means that I was able to remove all pugixml include statements except for the XLXmlParser wrapper module (header and cpp files): 665310262031d8098069e1a299d9b931ac533a00 and ce2a3c99714976207c3d4ea040523f6dd23d34fe
In case you are still active here, I would invite you to check whether this simplifies / solves your problem with packaging.