Header directory QuaZip-Qt6-1.3/quazip might be confusing ?
lopippo opened this issue · 2 comments
Greetings,
I am currently trying to use the latest QuaZip library project. The header files are installed in /usr/include/QuaZip-Qt6-1.3/quazip and the find_package(QuaZip-Qt6) statement works fine and provides the QuaZip::QuaZip variable contents fine.
However, I discovered that the include directories are listed as "-isystem /usr/include/QuaZip-Qt6-1.3 -isystem /usr/include/QuaZip-Qt6-1.3/quazip" which makes the inclusion of header files problematic, I think. Indeed, in the source code, I would then need to write either
#include <quazip/quazip.h> or
#include <quazip.h>
In this case, I would not be able to make easily the difference between two projects, one depending on QuaZip-Qt6 and the other one depending on the Qt5 version (on Debian that latter version installs the header files in /usr/include/quazip5) and the coder thus includes like this:
#include <quazip5/quazip.h>
For this new -Qt6 version, I wonder why the headers are inside the quazip directory below /usr/include/QuaZip-Qt6-1.3. How about simply installing the header files in /usr/include/quazip-qt6 and let QuaZip::QuaZip tell the compiler to look into /usr/ so that the coder would just include like this:
#include <quazip-qt6/quazip.h>, for example ?
Where does my reasoning fail ?
Thank you for this really useful lib !
Sincerely,
Filippo
Hello,
no interest in this issue ?
Sincerely,
Filippo
Sorry, I've been a bit busy with relocating to another country. Didn't even notice this issue.
IIRC, the quazip
subdirectory exists purely for backwards source compatibility, just in case some user has hundreds of #include <quazip/...>
. It was a mess in earlier versions, and some users used #include <quazip/...>
and some #include <...>
without quazip/
.
The reason for the QuaZip-Qt6-1.3
subdirectory is the possibility to co-install different QuaZip versions on the same machine.
The idea is that you don't need to change includes based on the versions of Qt and QuaZip you use. Otherwise it'll be a pain when you port to, say, Qt7 and have to change every include.
What exactly is your issue with this scheme? Why does it matter which version of Qt you use?