Install location of myframework_version.h headers

Kevin Funk kfunk at kde.org
Mon May 4 10:29:25 UTC 2015


On Monday, May 04, 2015 12:23:32 Kevin Funk wrote:
> Heya,
> 
> I'm wondering why, for instance, ktexteditor_version.h is installed to
> $PREFIX/include/KF5 instead of $PREFIX/include/KF5/KTextEditor.
> 
> This currently leads to confusing behavior when trying to include this
> header if two versions of KTextEditor are installed in different locations.
> 
> Suppose the two KTE installs:
> 1) /usr/include/KF5/ktexteditor_version.h
> 2) /home/kfunk/devel/install/kf5/include/KF5/ktexteditor_version.h
> 
> Now when including this header in one of my source files (1) is picked up
> although CMake found KTextEditor from (2). And this is because the CMake
> config files always append /usr/include/KF5 in
> INTERFACE_INCLUDE_DIRECTORIES for all frameworks.

More specific: Frameworks which have been installed into /usr pull in 
/usr/include/KF5, of course.

> The compiler invocation looks like this:
> /usr/lib/ccache/c++  ... -isystem /usr/include/KF5/ThreadWeaver -isystem
> /usr/include/KF5 -isystem ... -isystem
> /home/kfunk/devel/install/kf5/include/KF5/KTextEditor ... -c
> /home/kfunk/devel/src/kf5/extragear/kdevelop/kdevplatform/language/codegen/a
> pplychangeswidget.cpp
> 
> (The first framework implicitly pulls in /usr/include/KF5)
> 
> Now you could say "this is wrong" b/c I'm using both distro packages and
> self- compiled versions of frameworks. -- Is it?
> 
> The issue could be easily fixed by moving the myframework_version.h into
> $PREFIX/include/KF5/$FRAMEWORK/, no?
> 
> Greets

-- 
Kevin Funk | kfunk at kde.org | http://kfunk.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20150504/fc475918/attachment.sig>


More information about the Kde-frameworks-devel mailing list