Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Tobias Hunger
qt-creator
Commits
0aaeae97
Commit
0aaeae97
authored
Nov 03, 2010
by
Friedemann Kleint
Browse files
Qt4ProjectManager: Do not include windows.h in qtversionmanager.
Move 64bit-binary detection into Utils library.
parent
36a10aa2
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/libs/utils/winutils.cpp
View file @
0aaeae97
...
...
@@ -28,6 +28,7 @@
**************************************************************************/
#include "winutils.h"
#include "qtcassert.h"
// Enable WinAPI Windows XP and later
#define _WIN32_WINNT 0x0501
...
...
@@ -38,6 +39,7 @@
#include <QtCore/QDebug>
#include <QtCore/QLibrary>
#include <QtCore/QTextStream>
#include <QtCore/QDir>
namespace
Utils
{
...
...
@@ -173,4 +175,23 @@ QTCREATOR_UTILS_EXPORT bool winIs64BitSystem()
||
systemInfo
.
wProcessorArchitecture
==
PROCESSOR_ARCHITECTURE_IA64
;
}
QTCREATOR_UTILS_EXPORT
bool
winIs64BitBinary
(
const
QString
&
binaryIn
)
{
QTC_ASSERT
(
!
binaryIn
.
isEmpty
(),
return
false
;
)
#ifdef Q_OS_WIN32
# ifdef __GNUC__ // MinGW lacking some definitions/winbase.h
# define SCS_64BIT_BINARY 6
# endif
bool
isAmd64
=
false
;
DWORD
binaryType
=
0
;
const
QString
binary
=
QDir
::
toNativeSeparators
(
binaryIn
);
bool
success
=
GetBinaryTypeW
(
reinterpret_cast
<
const
TCHAR
*>
(
binary
.
utf16
()),
&
binaryType
)
!=
0
;
if
(
success
&&
binaryType
==
SCS_64BIT_BINARY
)
isAmd64
=
true
;
return
isAmd64
;
#else
return
false
;
#endif
}
}
// namespace Utils
src/libs/utils/winutils.h
View file @
0aaeae97
...
...
@@ -58,5 +58,8 @@ QTCREATOR_UTILS_EXPORT unsigned long winQPidToPid(const Q_PID qpid);
QTCREATOR_UTILS_EXPORT
bool
winIs64BitSystem
();
// Check for a 64bit binary.
QTCREATOR_UTILS_EXPORT
bool
winIs64BitBinary
(
const
QString
&
binary
);
}
// namespace Utils
#endif // WINUTILS_H
src/plugins/qt4projectmanager/qtversionmanager.cpp
View file @
0aaeae97
...
...
@@ -50,6 +50,7 @@
#include <extensionsystem/pluginmanager.h>
#include <help/helpmanager.h>
#include <utils/qtcassert.h>
#include <utils/winutils.h>
#include <QtCore/QFile>
#include <QtCore/QProcess>
...
...
@@ -61,10 +62,6 @@
#include <QtGui/QApplication>
#include <QtGui/QDesktopServices>
#ifdef Q_OS_WIN32
#include <windows.h>
#endif
using
namespace
Qt4ProjectManager
;
using
namespace
Qt4ProjectManager
::
Internal
;
...
...
@@ -1772,23 +1769,8 @@ QString QtVersion::examplesPath() const
bool
QtVersion
::
isQt64Bit
()
const
{
const
QString
make
=
qmakeCommand
();
// qDebug() << make;
bool
isAmd64
=
false
;
#ifdef Q_OS_WIN32
# ifdef __GNUC__ // MinGW lacking some definitions/winbase.h
# define SCS_64BIT_BINARY 6
# endif
DWORD
binaryType
=
0
;
bool
success
=
GetBinaryTypeW
(
reinterpret_cast
<
const
TCHAR
*>
(
make
.
utf16
()),
&
binaryType
)
!=
0
;
if
(
success
&&
binaryType
==
SCS_64BIT_BINARY
)
isAmd64
=
true
;
// qDebug() << "isAmd64:" << isAmd64 << binaryType;
return
isAmd64
;
#else
Q_UNUSED
(
isAmd64
)
return
false
;
#endif
const
QString
qmake
=
qmakeCommand
();
return
qmake
.
isEmpty
()
?
false
:
Utils
::
winIs64BitBinary
(
qmake
);
}
bool
QtVersion
::
buildDebuggingHelperLibrary
(
QFutureInterface
<
void
>
&
future
,
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment