From d76abf38e43c8efdc1be75a6bfd83cd87f227d91 Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Mon, 11 Oct 2010 16:26:15 +0200
Subject: [PATCH] Make extensionsystem tests compilable on Mac.

They don't run yet because of runtime linking issues.
---
 .../circularplugins/plugin1/plugin1.pro       |  1 +
 .../circularplugins/plugin2/plugin2.pro       |  1 +
 .../circularplugins/plugin3/plugin3.pro       |  1 +
 .../correctplugins1/plugin1/plugin1.pro       |  7 ++++---
 .../correctplugins1/plugin2/plugin2.pro       |  3 ++-
 .../correctplugins1/plugin3/plugin3.pro       |  7 ++++---
 .../test/auto/pluginmanager/test.pro          |  1 +
 .../auto/pluginmanager/tst_pluginmanager.cpp  |  2 +-
 .../test/auto/pluginspec/test.pro             |  7 ++++---
 .../auto/pluginspec/testplugin/testplugin.pro |  4 ++--
 .../test/extensionsystem_test.pri             | 21 ++++++++++++++++---
 .../pluginview/plugins/plugin1/plugin1.pro    |  7 ++++---
 .../pluginview/plugins/plugin2/plugin2.pro    |  3 ++-
 .../pluginview/plugins/plugin3/plugin3.pro    |  7 ++++---
 .../test/manual/pluginview/test.pro           |  1 +
 15 files changed, 50 insertions(+), 23 deletions(-)

diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin1/plugin1.pro b/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin1/plugin1.pro
index 4181188287f..d254825dec0 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin1/plugin1.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin1/plugin1.pro
@@ -4,5 +4,6 @@ TARGET = plugin1
 SOURCES += plugin1.cpp
 HEADERS += plugin1.h
 
+RELATIVEPATH=../../../..
 include(../../../../extensionsystem_test.pri)
 
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin2/plugin2.pro b/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin2/plugin2.pro
index 58798b54f14..18ffc3012ea 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin2/plugin2.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin2/plugin2.pro
@@ -4,5 +4,6 @@ TARGET = plugin2
 SOURCES += plugin2.cpp
 HEADERS += plugin2.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin3/plugin3.pro b/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin3/plugin3.pro
index f601f06162c..7987948a99b 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin3/plugin3.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/circularplugins/plugin3/plugin3.pro
@@ -4,5 +4,6 @@ TARGET = plugin3
 SOURCES += plugin3.cpp
 HEADERS += plugin3.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin1/plugin1.pro b/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin1/plugin1.pro
index 9101770f9ac..242b1800223 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin1/plugin1.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin1/plugin1.pro
@@ -4,12 +4,13 @@ TARGET = plugin1
 SOURCES += plugin1.cpp
 HEADERS += plugin1.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
-LIBS += -L$${PWD}/../plugin2 -L$${PWD}/../plugin3 -lplugin2 -lplugin3
+LIBS += -L$${OUT_PWD}/../plugin2 -L$${OUT_PWD}/../plugin3 -lplugin2 -lplugin3
 
 macx {
 } else:unix {
-    QMAKE_RPATHDIR += $${PWD}/../plugin2
-    QMAKE_RPATHDIR += $${PWD}/../plugin3
+    QMAKE_RPATHDIR += $${OUT_PWD}/../plugin2
+    QMAKE_RPATHDIR += $${OUT_PWD}/../plugin3
 }
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin2/plugin2.pro b/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin2/plugin2.pro
index a80f4a5c765..8b33fb4d7e2 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin2/plugin2.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin2/plugin2.pro
@@ -4,9 +4,10 @@ TARGET = plugin2
 SOURCES += plugin2.cpp
 HEADERS += plugin2.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
 macx {
-    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${PWD}/
+    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${OUT_PWD}/
 }
 
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin3/plugin3.pro b/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin3/plugin3.pro
index c5ff581b1ba..7fac0e790b7 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin3/plugin3.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/correctplugins1/plugin3/plugin3.pro
@@ -4,12 +4,13 @@ TARGET = plugin3
 SOURCES += plugin3.cpp
 HEADERS += plugin3.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
-LIBS += -L$${PWD}/../plugin2 -lplugin2
+LIBS += -L$${OUT_PWD}/../plugin2 -lplugin2
 
 macx {
-    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${PWD}/
+    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${OUT_PWD}/
 } else:unix {
-    QMAKE_RPATHDIR += $${PWD}/../plugin2
+    QMAKE_RPATHDIR += $${OUT_PWD}/../plugin2
 }
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/test.pro b/src/libs/extensionsystem/test/auto/pluginmanager/test.pro
index c5934b1331c..365801853be 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/test.pro
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/test.pro
@@ -8,6 +8,7 @@ CONFIG -= app_bundle
 
 # Input
 
+RELATIVEPATH = ../..
 include(../../extensionsystem_test.pri)
 
 SOURCES += tst_pluginmanager.cpp
diff --git a/src/libs/extensionsystem/test/auto/pluginmanager/tst_pluginmanager.cpp b/src/libs/extensionsystem/test/auto/pluginmanager/tst_pluginmanager.cpp
index daa21ed844e..039b8126598 100644
--- a/src/libs/extensionsystem/test/auto/pluginmanager/tst_pluginmanager.cpp
+++ b/src/libs/extensionsystem/test/auto/pluginmanager/tst_pluginmanager.cpp
@@ -198,7 +198,7 @@ void tst_PluginManager::plugins()
 {
     m_pm->setPluginPaths(QStringList() << "plugins");
     QCOMPARE(m_sr->pluginsChangedCount, 1);
-    QSet<PluginSpec *> plugins = m_pm->plugins();
+    QList<PluginSpec *> plugins = m_pm->plugins();
     QCOMPARE(plugins.count(), 3);
     foreach (const QString &expected, QStringList() << "helloworld" << "MyPlugin" << "dummyPlugin") {
         bool found = false;
diff --git a/src/libs/extensionsystem/test/auto/pluginspec/test.pro b/src/libs/extensionsystem/test/auto/pluginspec/test.pro
index d8fda889176..26feb60c1b8 100644
--- a/src/libs/extensionsystem/test/auto/pluginspec/test.pro
+++ b/src/libs/extensionsystem/test/auto/pluginspec/test.pro
@@ -1,14 +1,15 @@
 CONFIG += qtestlib
 TEMPLATE = app
 CONFIG -= app_bundle
-DESTDIR = $${PWD}
+
 # Input
 SOURCES += tst_pluginspec.cpp
 
+RELATIVEPATH = ../..
 include(../../extensionsystem_test.pri)
 
-LIBS += -L$${PWD}/testplugin -ltest
+LIBS += -L$${OUT_PWD}/testplugin -ltest
 macx {
 } else:unix {
-    QMAKE_RPATHDIR += $${PWD}/testplugin
+    QMAKE_RPATHDIR += $${OUT_PWD}/testplugin
 }
diff --git a/src/libs/extensionsystem/test/auto/pluginspec/testplugin/testplugin.pro b/src/libs/extensionsystem/test/auto/pluginspec/testplugin/testplugin.pro
index 8b4d81a82ad..01d98bb1774 100644
--- a/src/libs/extensionsystem/test/auto/pluginspec/testplugin/testplugin.pro
+++ b/src/libs/extensionsystem/test/auto/pluginspec/testplugin/testplugin.pro
@@ -1,13 +1,13 @@
 TEMPLATE = lib
 TARGET = test
-DESTDIR = $${PWD}
 DEFINES += MYPLUGIN_LIBRARY
 SOURCES += testplugin.cpp
 HEADERS += testplugin.h testplugin_global.h
 
+RELATIVEPATH = ../../..
 include(../../../extensionsystem_test.pri)
 
 macx {
-    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${PWD}/
+    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${OUT_PWD}/
 }
 
diff --git a/src/libs/extensionsystem/test/extensionsystem_test.pri b/src/libs/extensionsystem/test/extensionsystem_test.pri
index 6ad874add3e..a3a33c36d21 100644
--- a/src/libs/extensionsystem/test/extensionsystem_test.pri
+++ b/src/libs/extensionsystem/test/extensionsystem_test.pri
@@ -1,12 +1,27 @@
-
+RELATIVEPATH = $$RELATIVEPATH/../../../..
 INCLUDEPATH *= $$PWD/../..
 macx {
-    LIBPATH*= $$PWD/../../../../bin/QtCreator.app/Contents/PlugIns
+    LIBS += -L"$$OUT_PWD/$$RELATIVEPATH/bin/Qt Creator.app/Contents/PlugIns"
 }
 else {
-    LIBPATH*= $$PWD/../../../../lib
+    LIBS += $$OUT_PWD/$$RELATIVEPATH/lib
+}
+
+# stolen from qtcreator.pri
+defineReplace(qtLibraryName) {
+   unset(LIBRARY_NAME)
+   LIBRARY_NAME = $$1
+   CONFIG(debug, debug|release) {
+      !debug_and_release|build_pass {
+          mac:RET = $$member(LIBRARY_NAME, 0)_debug
+              else:win32:RET = $$member(LIBRARY_NAME, 0)d
+      }
+   }
+   isEmpty(RET):RET = $$LIBRARY_NAME
+   return($$RET)
 }
 
 include(../extensionsystem.pri)
 
 QT *= xml
+
diff --git a/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin1/plugin1.pro b/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin1/plugin1.pro
index 9101770f9ac..242b1800223 100644
--- a/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin1/plugin1.pro
+++ b/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin1/plugin1.pro
@@ -4,12 +4,13 @@ TARGET = plugin1
 SOURCES += plugin1.cpp
 HEADERS += plugin1.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
-LIBS += -L$${PWD}/../plugin2 -L$${PWD}/../plugin3 -lplugin2 -lplugin3
+LIBS += -L$${OUT_PWD}/../plugin2 -L$${OUT_PWD}/../plugin3 -lplugin2 -lplugin3
 
 macx {
 } else:unix {
-    QMAKE_RPATHDIR += $${PWD}/../plugin2
-    QMAKE_RPATHDIR += $${PWD}/../plugin3
+    QMAKE_RPATHDIR += $${OUT_PWD}/../plugin2
+    QMAKE_RPATHDIR += $${OUT_PWD}/../plugin3
 }
diff --git a/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin2/plugin2.pro b/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin2/plugin2.pro
index a80f4a5c765..8b33fb4d7e2 100644
--- a/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin2/plugin2.pro
+++ b/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin2/plugin2.pro
@@ -4,9 +4,10 @@ TARGET = plugin2
 SOURCES += plugin2.cpp
 HEADERS += plugin2.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
 macx {
-    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${PWD}/
+    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${OUT_PWD}/
 }
 
diff --git a/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin3/plugin3.pro b/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin3/plugin3.pro
index c5ff581b1ba..7fac0e790b7 100644
--- a/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin3/plugin3.pro
+++ b/src/libs/extensionsystem/test/manual/pluginview/plugins/plugin3/plugin3.pro
@@ -4,12 +4,13 @@ TARGET = plugin3
 SOURCES += plugin3.cpp
 HEADERS += plugin3.h
 
+RELATIVEPATH = ../../../..
 include(../../../../extensionsystem_test.pri)
 
-LIBS += -L$${PWD}/../plugin2 -lplugin2
+LIBS += -L$${OUT_PWD}/../plugin2 -lplugin2
 
 macx {
-    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${PWD}/
+    QMAKE_LFLAGS_SONAME = -Wl,-install_name,$${OUT_PWD}/
 } else:unix {
-    QMAKE_RPATHDIR += $${PWD}/../plugin2
+    QMAKE_RPATHDIR += $${OUT_PWD}/../plugin2
 }
diff --git a/src/libs/extensionsystem/test/manual/pluginview/test.pro b/src/libs/extensionsystem/test/manual/pluginview/test.pro
index 4b9cd21d8ad..d4c17967f39 100644
--- a/src/libs/extensionsystem/test/manual/pluginview/test.pro
+++ b/src/libs/extensionsystem/test/manual/pluginview/test.pro
@@ -6,4 +6,5 @@ macx:CONFIG-=app_bundle
 HEADERS += plugindialog.h
 SOURCES += plugindialog.cpp
 
+RELATIVEPATH = ../..
 include(../../extensionsystem_test.pri)
-- 
GitLab