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 | kf...@kde.org | http://kfunk.org

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
Kde-frameworks-devel mailing list
Kde-frameworks-devel@kde.org
https://mail.kde.org/mailman/listinfo/kde-frameworks-devel

Reply via email to