diff options
author | hjk <hjk121@nokiamail.com> | 2014-02-19 15:35:58 +0100 |
---|---|---|
committer | David Schulz <david.schulz@digia.com> | 2014-02-20 11:10:30 +0100 |
commit | 97d98c96e5da82ba63df0f48667a1189a30200c5 (patch) | |
tree | 2f012a84e1c50a6f49896e888ce81aad81cb6092 | |
parent | c2015ea3dc9d643b061e0f629b7ba3d277540610 (diff) | |
download | qt-creator-97d98c96e5da82ba63df0f48667a1189a30200c5.tar.gz |
Utils: Compile winutils on all platform
... and simplify "user" code.
Change-Id: I2dfa402f25ab83f1ab80adc0ac508e8383c69641
Reviewed-by: David Schulz <david.schulz@digia.com>
-rw-r--r-- | src/libs/utils/utils-lib.pri | 13 | ||||
-rw-r--r-- | src/libs/utils/utils.qbs | 4 | ||||
-rw-r--r-- | src/libs/utils/winutils.cpp | 18 | ||||
-rw-r--r-- | src/libs/utils/winutils.h | 10 | ||||
-rw-r--r-- | src/plugins/debugger/cdb/cdbengine.cpp | 12 | ||||
-rw-r--r-- | src/plugins/debugger/cdb/cdbengine.h | 1 | ||||
-rw-r--r-- | src/plugins/debugger/debuggeroptionspage.cpp | 6 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerplugin.cpp | 8 | ||||
-rw-r--r-- | src/plugins/debugger/debuggerrunner.cpp | 5 | ||||
-rw-r--r-- | src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp | 7 | ||||
-rw-r--r-- | src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp | 3 | ||||
-rw-r--r-- | src/plugins/qtsupport/gettingstartedwelcomepage.cpp | 3 | ||||
-rw-r--r-- | src/plugins/valgrind/valgrindprocess.cpp | 5 | ||||
-rw-r--r-- | src/plugins/welcome/welcomeplugin.cpp | 4 |
14 files changed, 36 insertions, 63 deletions
diff --git a/src/libs/utils/utils-lib.pri b/src/libs/utils/utils-lib.pri index 8bbf3614fc..67025e67a4 100644 --- a/src/libs/utils/utils-lib.pri +++ b/src/libs/utils/utils-lib.pri @@ -86,14 +86,10 @@ SOURCES += $$PWD/environment.cpp \ $$PWD/function.cpp \ $$PWD/ansiescapecodehandler.cpp \ $$PWD/execmenu.cpp \ - $$PWD/completinglineedit.cpp + $$PWD/completinglineedit.cpp \ + $$PWD/winutils.cpp -win32 { - SOURCES += \ - $$PWD/consoleprocess_win.cpp \ - $$PWD/winutils.cpp - HEADERS += $$PWD/winutils.h -} +win32:SOURCES += $$PWD/consoleprocess_win.cpp else:SOURCES += $$PWD/consoleprocess_unix.cpp HEADERS += \ @@ -181,7 +177,8 @@ HEADERS += \ $$PWD/ansiescapecodehandler.h \ $$PWD/execmenu.h \ $$PWD/completinglineedit.h \ - $$PWD/logging.h + $$PWD/logging.h \ + $$PWD/winutils.h FORMS += $$PWD/filewizardpage.ui \ $$PWD/projectintropage.ui \ diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index 6d9731b9e8..987adc0db7 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -176,6 +176,8 @@ QtcLibrary { "unixutils.h", "utils.qrc", "utils_global.h", + "winutils.cpp", + "winutils.h", "wizard.cpp", "wizard.h", "images/arrow.png", @@ -208,8 +210,6 @@ QtcLibrary { condition: qbs.targetOS.contains("windows") files: [ "consoleprocess_win.cpp", - "winutils.cpp", - "winutils.h", ] } diff --git a/src/libs/utils/winutils.cpp b/src/libs/utils/winutils.cpp index dd33502bde..ade5b0068d 100644 --- a/src/libs/utils/winutils.cpp +++ b/src/libs/utils/winutils.cpp @@ -31,9 +31,11 @@ #include "qtcassert.h" // Enable WinAPI Windows XP and later +#ifdef Q_OS_WIN #undef _WIN32_WINNT #define _WIN32_WINNT 0x0501 #include <windows.h> +#endif #include <QString> #include <QVector> @@ -47,6 +49,7 @@ namespace Utils { QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error) { QString rc = QString::fromLatin1("#%1: ").arg(error); +#ifdef Q_OS_WIN ushort *lpMsgBuf; const int len = FormatMessage( @@ -58,6 +61,7 @@ QTCREATOR_UTILS_EXPORT QString winErrorMessage(unsigned long error) } else { rc += QString::fromLatin1("<unknown error>"); } +#endif return rc; } @@ -76,6 +80,7 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t, const QString &name, QString *errorMessage) { +#ifdef Q_OS_WIN // Resolve required symbols from the version.dll typedef DWORD (APIENTRY *GetFileVersionInfoSizeProtoType)(LPCTSTR, LPDWORD); typedef BOOL (APIENTRY *GetFileVersionInfoWProtoType)(LPCWSTR, DWORD, DWORD, LPVOID); @@ -127,17 +132,26 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t, break; } return rc; +#endif + Q_UNUSED(t); + Q_UNUSED(name); + Q_UNUSED(errorMessage); + return QString(); } -QTCREATOR_UTILS_EXPORT bool winIs64BitSystem() +QTCREATOR_UTILS_EXPORT bool is64BitWindowsSystem() { +#ifdef Q_OS_WIN SYSTEM_INFO systemInfo; GetNativeSystemInfo(&systemInfo); return systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 || systemInfo.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64; +#else + return false; +#endif } -QTCREATOR_UTILS_EXPORT bool winIs64BitBinary(const QString &binaryIn) +QTCREATOR_UTILS_EXPORT bool is64BitWindowsBinary(const QString &binaryIn) { QTC_ASSERT(!binaryIn.isEmpty(), return false); #ifdef Q_OS_WIN32 diff --git a/src/libs/utils/winutils.h b/src/libs/utils/winutils.h index 7cce2ebef4..9b5358791a 100644 --- a/src/libs/utils/winutils.h +++ b/src/libs/utils/winutils.h @@ -32,12 +32,6 @@ #include "utils_global.h" -#include <QProcess> // Q_PID (is PROCESS_INFORMATION*) - -QT_BEGIN_NAMESPACE -class QString; -QT_END_NAMESPACE - namespace Utils { // Helper to format a Windows error message, taking the @@ -50,10 +44,10 @@ QTCREATOR_UTILS_EXPORT QString winGetDLLVersion(WinDLLVersionType t, const QString &name, QString *errorMessage); -QTCREATOR_UTILS_EXPORT bool winIs64BitSystem(); +QTCREATOR_UTILS_EXPORT bool is64BitWindowsSystem(); // Check for a 64bit binary. -QTCREATOR_UTILS_EXPORT bool winIs64BitBinary(const QString &binary); +QTCREATOR_UTILS_EXPORT bool is64BitWindowsBinary(const QString &binary); } // namespace Utils diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index 388535eba5..fa52f971bb 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -352,7 +352,6 @@ CdbEngine::CdbEngine(const DebuggerStartParameters &sp) : m_verboseLog(false), // Default CDB setting m_notifyEngineShutdownOnTermination(false), m_hasDebuggee(false), - m_cdbIs64Bit(false), m_wow64State(wow64Uninitialized), m_elapsedLogTime(0), m_sourceStepInto(false), @@ -669,15 +668,10 @@ bool CdbEngine::launchCDB(const DebuggerStartParameters &sp, QString *errorMessa return false; } - m_cdbIs64Bit = -#ifdef Q_OS_WIN - Utils::winIs64BitBinary(executable); -#else - false; -#endif - if (!m_cdbIs64Bit) + bool cdbIs64Bit = Utils::is64BitWindowsBinary(executable); + if (!cdbIs64Bit) m_wow64State = noWow64Stack; - const QFileInfo extensionFi(CdbEngine::extensionLibraryName(m_cdbIs64Bit)); + const QFileInfo extensionFi(CdbEngine::extensionLibraryName(cdbIs64Bit)); if (!extensionFi.isFile()) { *errorMessage = QString::fromLatin1("Internal error: The extension %1 cannot be found.\n" "If you build Qt Creator from sources, check out " diff --git a/src/plugins/debugger/cdb/cdbengine.h b/src/plugins/debugger/cdb/cdbengine.h index ff790032e5..6bca257390 100644 --- a/src/plugins/debugger/cdb/cdbengine.h +++ b/src/plugins/debugger/cdb/cdbengine.h @@ -271,7 +271,6 @@ private: bool m_verboseLog; bool m_notifyEngineShutdownOnTermination; bool m_hasDebuggee; - bool m_cdbIs64Bit; enum Wow64State { wow64Uninitialized, noWow64Stack, diff --git a/src/plugins/debugger/debuggeroptionspage.cpp b/src/plugins/debugger/debuggeroptionspage.cpp index 6fe0a19135..b56918398b 100644 --- a/src/plugins/debugger/debuggeroptionspage.cpp +++ b/src/plugins/debugger/debuggeroptionspage.cpp @@ -139,11 +139,7 @@ void DebuggerItemConfigWidget::setItem(const DebuggerItem &item) QString text; QString versionCommand; if (item.engineType() == CdbEngineType) { -#ifdef Q_OS_WIN - const bool is64bit = winIs64BitSystem(); -#else - const bool is64bit = false; -#endif + const bool is64bit = is64BitWindowsSystem(); const QString versionString = is64bit ? tr("64-bit version") : tr("32-bit version"); //: Label text for path configuration. %2 is "x-bit version". text = tr("<html><body><p>Specify the path to the " diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index b88a1a6a26..2ea8a67fa5 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -106,9 +106,7 @@ #include <utils/styledbar.h> #include <utils/proxyaction.h> #include <utils/statuslabel.h> -#ifdef Q_OS_WIN -# include <utils/winutils.h> -#endif +#include <utils/winutils.h> #include <QComboBox> #include <QDockWidget> @@ -588,13 +586,11 @@ public: // On a 64bit OS, prefer a 64bit debugger. static Kit *findUniversalCdbKit() { -#ifdef Q_OS_WIN - if (Utils::winIs64BitSystem()) { + if (Utils::is64BitWindowsSystem()) { CdbMatcher matcher64(64); if (Kit *cdb64Kit = KitManager::find(matcher64)) return cdb64Kit; } -#endif CdbMatcher matcher; return KitManager::find(matcher); } diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 224bff04a5..91bd58cc1c 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -40,10 +40,7 @@ #include "debuggerstringutils.h" #include "debuggertooltipmanager.h" #include "breakhandler.h" - -#ifdef Q_OS_WIN -# include "shared/peutils.h" -#endif +#include "shared/peutils.h" #include <projectexplorer/localapplicationrunconfiguration.h> // For LocalApplication* #include <projectexplorer/environmentaspect.h> // For the environment diff --git a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp index a2e6a07b5c..032245eeb5 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopprocesssignaloperation.cpp @@ -34,6 +34,7 @@ #include <QCoreApplication> #include <QDir> +#include <QProcess> #ifdef Q_OS_WIN #define _WIN32_WINNT 0x0502 @@ -123,10 +124,10 @@ void DesktopProcessSignalOperation::interruptProcessSilently(int pid) #ifdef Q_OS_WIN enum SpecialInterrupt { NoSpecialInterrupt, Win32Interrupt, Win64Interrupt }; - bool is64BitSystem = Utils::winIs64BitSystem(); + bool is64BitSystem = Utils::is64BitWindowsSystem(); SpecialInterrupt si = NoSpecialInterrupt; if (is64BitSystem) - si = Utils::winIs64BitBinary(m_debuggerCommand) ? Win64Interrupt : Win32Interrupt; + si = Utils::is64BitWindowsBinary(m_debuggerCommand) ? Win64Interrupt : Win32Interrupt; /* Windows 64 bit has a 32 bit subsystem (WOW64) which makes it possible to run a 32 bit application inside a 64 bit environment. @@ -167,7 +168,7 @@ GDB 32bit | Api | Api | N/A | Win32 + Utils::winErrorMessage(GetLastError())); break; } - bool creatorIs64Bit = Utils::winIs64BitBinary(qApp->applicationFilePath()); + bool creatorIs64Bit = Utils::is64BitWindowsBinary(qApp->applicationFilePath()); if (!is64BitSystem || si == NoSpecialInterrupt || si == Win64Interrupt && creatorIs64Bit diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index d7c1a8543f..eceab59ca2 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -43,10 +43,7 @@ #include <utils/fileutils.h> #include <utils/qtcprocess.h> - -#ifdef Q_OS_WIN #include <utils/winutils.h> -#endif using namespace Core; using namespace QmlProjectManager::Internal; diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index bd8f045762..f5b9c68acd 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -33,10 +33,7 @@ #include "screenshotcropper.h" #include <utils/pathchooser.h> - -#ifdef Q_OS_WIN #include <utils/winutils.h> -#endif #include <coreplugin/coreconstants.h> #include <coreplugin/documentmanager.h> diff --git a/src/plugins/valgrind/valgrindprocess.cpp b/src/plugins/valgrind/valgrindprocess.cpp index cb0e9e6234..de74632441 100644 --- a/src/plugins/valgrind/valgrindprocess.cpp +++ b/src/plugins/valgrind/valgrindprocess.cpp @@ -35,11 +35,6 @@ #include <QFileInfo> #include <utils/qtcassert.h> -#include <utils/winutils.h> - -#ifdef Q_OS_WIN -# include <qt_windows.h> -#endif namespace Valgrind { diff --git a/src/plugins/welcome/welcomeplugin.cpp b/src/plugins/welcome/welcomeplugin.cpp index 989649757e..37297cde4e 100644 --- a/src/plugins/welcome/welcomeplugin.cpp +++ b/src/plugins/welcome/welcomeplugin.cpp @@ -46,10 +46,6 @@ #include <utils/iwelcomepage.h> #include <utils/networkaccessmanager.h> -#ifdef Q_OS_WIN -#include <utils/winutils.h> -#endif - #include <QScrollArea> #include <QDesktopServices> #include <QPainter> |