Qt5/Mac header finding in KDevelop5 (cmake projects)

René J.V. Bertin rjvbertin at gmail.com
Mon Jun 20 14:44:39 UTC 2016


On Monday June 20 2016 16:33:03 Aleix Pol wrote:

Hi,

> > /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++   -DKCOREADDONS_LIB -DQT_CORE_LIB -DQT_GUI_LIB -DQT_MAC_USE_COCOA -DQT_NO_DEBUG -D_DARWIN_C_SOURCE -D_LARGEFILE64_SOURCE -Dskeleton_decoration_EXPORTS -I/Users/bertin/work/src/new/KDE/KF5/skeleton-0.1/build/src -I/Users/bertin/work/src/new/KDE/KF5/skeleton-0.1/src -iframework /opt/local/libexec/qt5/Library/Frameworks -isystem /opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/Headers <SNIP>
> >
> > I can imagine that KDevelop's parser doesn't know the `-iframework` option, but AFAIK it should know how to handle things like `-isystem /opt/local/libexec/qt5/Library/Frameworks/QtCore.framework/Headers` which contains e.g. QtCore (so #include <QtCore> should work) ...
> 
> Hi René,
> -isystem is implemented, -iframework isn't.
> 
> This is resolved by the MakeFileResolver in
> projectmanagers/custommake/makefileresolver.
> 
> I suggest to start by introducing new entries on the test and then fixing them.

Implementing -iframework is certainly important if KDevelop is to integrate better on OS X .
But there are 2 things that I think we should understand first:

- why does -isystem /path/to/QtCore.framework/Headers not enable resolving e.g. `#include <QCoreApplication>` given that /path/to/QtCore.framework/Headers contains both QCoreApplication and qcoreapplication.h ?
- why does KDevelop4 not have this issue?

R


More information about the KDevelop-devel mailing list