|
Rex Dieter |
29094f |
From 6b9597ff35170fa14ae333f6b2de73749353d3bc Mon Sep 17 00:00:00 2001
|
|
Rex Dieter |
29094f |
From: Mike Arthur <mike@mikemcquaid.com>
|
|
Rex Dieter |
29094f |
Date: Mon, 15 Mar 2010 22:07:33 +0000
|
|
Rex Dieter |
29094f |
Subject: [PATCH 18/33] Fix framework detection on Mac where Qt is installed
|
|
Rex Dieter |
29094f |
outside /Library/Frameworks.
|
|
Rex Dieter |
29094f |
|
|
Rex Dieter |
29094f |
svn path=/trunk/kdesupport/automoc/; revision=1103798
|
|
Rex Dieter |
29094f |
---
|
|
Rex Dieter |
29094f |
kde4automoc.cpp | 16 +++++++++++-----
|
|
Rex Dieter |
29094f |
1 file changed, 11 insertions(+), 5 deletions(-)
|
|
Rex Dieter |
29094f |
|
|
Rex Dieter |
29094f |
diff --git a/kde4automoc.cpp b/kde4automoc.cpp
|
|
Rex Dieter |
29094f |
index e85ec62..314ab96 100644
|
|
Rex Dieter |
29094f |
--- a/kde4automoc.cpp
|
|
Rex Dieter |
29094f |
+++ b/kde4automoc.cpp
|
|
Rex Dieter |
29094f |
@@ -179,16 +179,22 @@ void AutoMoc::lazyInit()
|
|
Rex Dieter |
29094f |
dotFilesCheck(line == "MOC_INCLUDES:\n");
|
|
Rex Dieter |
29094f |
line = dotFiles.readLine().trimmed();
|
|
Rex Dieter |
29094f |
const QStringList &incPaths = QString::fromUtf8(line).split(';', QString::SkipEmptyParts);
|
|
Rex Dieter |
29094f |
+ QSet<QString> frameworkPaths;
|
|
Rex Dieter |
29094f |
foreach (const QString &path, incPaths) {
|
|
Rex Dieter |
29094f |
Q_ASSERT(!path.isEmpty());
|
|
Rex Dieter |
29094f |
mocIncludes << "-I" + path;
|
|
Rex Dieter |
29094f |
+ if (path.endsWith(".framework/Headers")) {
|
|
Rex Dieter |
29094f |
+ QDir framework(path);
|
|
Rex Dieter |
29094f |
+ // Go up twice to get to the framework root
|
|
Rex Dieter |
29094f |
+ framework.cdUp();
|
|
Rex Dieter |
29094f |
+ framework.cdUp();
|
|
Rex Dieter |
29094f |
+ frameworkPaths << framework.path();
|
|
Rex Dieter |
29094f |
+ }
|
|
Rex Dieter |
29094f |
}
|
|
Rex Dieter |
29094f |
|
|
Rex Dieter |
29094f |
- // on the Mac, add -F always, otherwise headers in the frameworks won't be found
|
|
Rex Dieter |
29094f |
- // is it necessary to do this only optionally ? Alex
|
|
Rex Dieter |
29094f |
-#if defined(Q_OS_DARWIN) || defined(Q_OS_MAC)
|
|
Rex Dieter |
29094f |
- mocIncludes << "-F/Library/Frameworks";
|
|
Rex Dieter |
29094f |
-#endif
|
|
Rex Dieter |
29094f |
+ foreach (const QString &path, frameworkPaths) {
|
|
Rex Dieter |
29094f |
+ mocIncludes << "-F" << path;
|
|
Rex Dieter |
29094f |
+ }
|
|
Rex Dieter |
29094f |
|
|
Rex Dieter |
29094f |
line = dotFiles.readLine();
|
|
Rex Dieter |
29094f |
dotFilesCheck(line == "CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE:\n");
|
|
Rex Dieter |
29094f |
--
|
|
Rex Dieter |
29094f |
2.4.3
|
|
Rex Dieter |
29094f |
|