QuickQanava icon indicating copy to clipboard operation
QuickQanava copied to clipboard

Installing QuickQanava through CMake seems to be broken

Open sheepy9 opened this issue 2 years ago • 0 comments

Installing QuickQanava using cmake seems to be broken. After running make install, the qml files and binaries seem to be installed in the correct place, but the header files are unusable in the current configuration. Some headers like for example container_adapter.h (amoung many) use #include with relative paths to other headers like QuickContainers.h. This is a problem since the directory structure of the installed headers differs from the directory structure inside the QuickQanava project. And so when building QuickQanava, no compiler errors are reported, while it's impossible to include QuickQanava.h in another project after installation.

I managed to fix this while integrating QuickQanava into my project, but along the way I also made some other (exclusively build system) changes.

Generally it's nice to have the ability to build and install headers, binaries, cmake package files and qml files of dependencies locally inside a projects directory tree (like KDE modules which have this good practice). What I mean by this is that it would be good to be able to change CMAKE_INSTALL_PREFIX from the default /usr/local to some subdirectory in your project and have everything loaded from there. This would make it very straightforward to use QuickQanava by building it directly from github using ExternalProject_Add. And since it would be installed locally, no admin privileges would be required in the install step. Then it can easily be included using find_package etc. This also makes it easier to later package the project in question.

I managed to enable this and get QuickQanava working in my project so I was thinking that something like this would also be generally desirable. If you want I could contribute these modifications to QuickQanava. All changes are made exclusively to CMake files, no source or header files were changed.

sheepy9 avatar Sep 19 '22 15:09 sheepy9