forked from qt-creator/qt-creator
CMake: work-around for CodeBlocks lack of framework support.
CodeBlocks is utterly ignorant of frameworks on Mac, and won't report framework paths. The work-around is to check if the include path ends in ".framework", and if so, add the parent directory as framework path. Task-number: QTCREATORBUG-11445 Change-Id: I794dd72d755d5593e36ebf59543d0a5e9fda3cce Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
committed by
Erik Verbruggen
parent
139a1a8dbe
commit
c4ef72dd39
@@ -349,7 +349,22 @@ bool CMakeProject::parseCMakeLists()
|
|||||||
|
|
||||||
// This explicitly adds -I. to the include paths
|
// This explicitly adds -I. to the include paths
|
||||||
part->includePaths += projectDirectory();
|
part->includePaths += projectDirectory();
|
||||||
part->includePaths += cbpparser.includeFiles();
|
|
||||||
|
foreach (const QString &includeFile, cbpparser.includeFiles()) {
|
||||||
|
// CodeBlocks is utterly ignorant of frameworks on Mac, and won't report framework
|
||||||
|
// paths. The work-around is to check if the include path ends in ".framework", and
|
||||||
|
// if so, add the parent directory as framework path.
|
||||||
|
if (includeFile.endsWith(QLatin1String(".framework"))) {
|
||||||
|
const int slashIdx = includeFile.lastIndexOf(QLatin1Char('/'));
|
||||||
|
if (slashIdx != -1) {
|
||||||
|
part->frameworkPaths += includeFile.left(slashIdx);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
part->includePaths += includeFile;
|
||||||
|
}
|
||||||
|
|
||||||
part->projectDefines += cbpparser.defines();
|
part->projectDefines += cbpparser.defines();
|
||||||
|
|
||||||
CppTools::ProjectFileAdder adder(part->files);
|
CppTools::ProjectFileAdder adder(part->files);
|
||||||
|
|||||||
Reference in New Issue
Block a user