Install location of myframework_version.h headers

Kevin Funk kfunk at kde.org
Mon May 4 10:23:32 UTC 2015


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.

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/applychangeswidget.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/616d31a4/attachment.sig>


More information about the Kde-frameworks-devel mailing list