From 3f943df966d82a30dedd72fcd573a9393cb55641 Mon Sep 17 00:00:00 2001
From: hjk <qtc-committer@nokia.com>
Date: Thu, 24 Nov 2011 16:11:37 +0100
Subject: [PATCH] projectexplorer: compile windows stuff on *nix if tests are
 on

Change-Id: I5bf8aa8f97affb5d56ad50b55c410a9870f8d68f
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
---
 src/plugins/projectexplorer/msvcparser.cpp    |  2 +-
 src/plugins/projectexplorer/projectexplorer.h |  2 -
 .../projectexplorer/projectexplorer.pro       | 37 +++++++++++--------
 .../projectexplorer/windebuginterface.cpp     | 25 +++++++++++++
 4 files changed, 47 insertions(+), 19 deletions(-)

diff --git a/src/plugins/projectexplorer/msvcparser.cpp b/src/plugins/projectexplorer/msvcparser.cpp
index 647867a6810..7b2357a7dbe 100644
--- a/src/plugins/projectexplorer/msvcparser.cpp
+++ b/src/plugins/projectexplorer/msvcparser.cpp
@@ -330,5 +330,5 @@ void ProjectExplorerPlugin::testMsvcOutputParsers()
                           tasks, childStdOutLines, childStdErrLines,
                           outputLines);
 }
-#endif
 
+#endif // WITH_TEST
diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h
index 877026c189f..8f7bfffee60 100644
--- a/src/plugins/projectexplorer/projectexplorer.h
+++ b/src/plugins/projectexplorer/projectexplorer.h
@@ -247,10 +247,8 @@ private slots:
     void testGnuMakeParserTaskMangling_data();
     void testGnuMakeParserTaskMangling();
 
-#ifdef Q_OS_WIN
     void testMsvcOutputParsers_data();
     void testMsvcOutputParsers();
-#endif
 
     void testGccAbiGuessing_data();
     void testGccAbiGuessing();
diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro
index b526d840fd7..42b2d501baf 100644
--- a/src/plugins/projectexplorer/projectexplorer.pro
+++ b/src/plugins/projectexplorer/projectexplorer.pro
@@ -202,6 +202,25 @@ FORMS += processstep.ui \
     publishing/publishingwizardselectiondialog.ui \
     codestylesettingspropertiespage.ui
 
+WINSOURCES += \
+    windebuginterface.cpp \
+    msvcparser.cpp \
+    msvctoolchain.cpp \
+    abstractmsvctoolchain.cpp \
+    wincetoolchain.cpp
+
+WINHEADERS += \
+    windebuginterface.h \
+    msvcparser.h \
+    msvctoolchain.h \
+    abstractmsvctoolchain.h \
+    wincetoolchain.h
+
+win32|equals(TEST, 1) {
+    SOURCES += $$WINSOURCES
+    HEADERS += $$WINHEADERS
+}
+
 equals(TEST, 1) {
     SOURCES += \
         outputparser_test.cpp
@@ -209,22 +228,8 @@ equals(TEST, 1) {
         outputparser_test.h
 }
 
-win32 {
-    SOURCES += \
-        windebuginterface.cpp \
-        msvcparser.cpp \
-        msvctoolchain.cpp \
-        abstractmsvctoolchain.cpp \
-        wincetoolchain.cpp
-    HEADERS += \
-        windebuginterface.h \
-        msvcparser.h \
-        msvctoolchain.h \
-        abstractmsvctoolchain.h \
-        wincetoolchain.h
-} else {
-    macx:LIBS += -framework Carbon
-}
+macx:LIBS += -framework Carbon
+
 RESOURCES += projectexplorer.qrc
 
 # Some way to override the architecture used in Abi:
diff --git a/src/plugins/projectexplorer/windebuginterface.cpp b/src/plugins/projectexplorer/windebuginterface.cpp
index e1f0d3c0d6f..fbe6074eb2c 100644
--- a/src/plugins/projectexplorer/windebuginterface.cpp
+++ b/src/plugins/projectexplorer/windebuginterface.cpp
@@ -32,8 +32,11 @@
 
 #include "windebuginterface.h"
 
+#ifdef Q_OS_WIN
+
 #include <windows.h>
 
+
 /*!
     \class ProjectExplorer::Internal::WinDebugInterface
     \brief Windows: Captures output of the Windows API OutputDebugString() function.
@@ -140,3 +143,25 @@ bool WinDebugInterface::runLoop()
 
 } // namespace Internal
 } // namespace ProjectExplorer
+
+#else
+
+namespace ProjectExplorer {
+namespace Internal {
+
+WinDebugInterface *WinDebugInterface::m_instance = 0;
+
+WinDebugInterface *WinDebugInterface::instance() { return 0; }
+
+WinDebugInterface::WinDebugInterface(QObject *) {}
+
+WinDebugInterface::~WinDebugInterface() {}
+
+void WinDebugInterface::run() {}
+
+bool WinDebugInterface::runLoop() { return false; }
+
+} // namespace Internal
+} // namespace ProjectExplorer
+
+#endif
-- 
GitLab