forked from qt-creator/qt-creator
This is an unsupported configuration for testing only. Change-Id: Idf5dde8210e0599806a3374a964adfd192b60149 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
96 lines
3.1 KiB
C++
96 lines
3.1 KiB
C++
/****************************************************************************
|
|
**
|
|
** Copyright (C) 2016 The Qt Company Ltd.
|
|
** Contact: https://www.qt.io/licensing/
|
|
**
|
|
** This file is part of Qt Creator.
|
|
**
|
|
** Commercial License Usage
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
** accordance with the commercial license agreement provided with the
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
|
**
|
|
** GNU General Public License Usage
|
|
** Alternatively, this file may be used under the terms of the GNU
|
|
** General Public License version 3 as published by the Free Software
|
|
** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
|
|
** included in the packaging of this file. Please review the following
|
|
** information to ensure the GNU General Public License requirements will
|
|
** be met: https://www.gnu.org/licenses/gpl-3.0.html.
|
|
**
|
|
****************************************************************************/
|
|
|
|
#include "hostosinfo.h"
|
|
|
|
#include <QApplication>
|
|
#include <QOpenGLContext>
|
|
|
|
#ifdef Q_OS_WIN
|
|
#undef _WIN32_WINNT
|
|
#define _WIN32_WINNT 0x0501 /* WinXP, needed for GetNativeSystemInfo() */
|
|
#include <qt_windows.h>
|
|
#endif
|
|
|
|
using namespace Utils;
|
|
|
|
Qt::CaseSensitivity HostOsInfo::m_overrideFileNameCaseSensitivity = Qt::CaseSensitive;
|
|
bool HostOsInfo::m_useOverrideFileNameCaseSensitivity = false;
|
|
|
|
#ifdef Q_OS_WIN
|
|
static WORD hostProcessorArchitecture()
|
|
{
|
|
SYSTEM_INFO info;
|
|
GetNativeSystemInfo(&info);
|
|
return info.wProcessorArchitecture;
|
|
}
|
|
#endif
|
|
|
|
HostOsInfo::HostArchitecture HostOsInfo::hostArchitecture()
|
|
{
|
|
#ifdef Q_OS_WIN
|
|
static const WORD processorArchitecture = hostProcessorArchitecture();
|
|
switch (processorArchitecture) {
|
|
case PROCESSOR_ARCHITECTURE_AMD64:
|
|
return HostOsInfo::HostArchitectureAMD64;
|
|
case PROCESSOR_ARCHITECTURE_INTEL:
|
|
return HostOsInfo::HostArchitectureX86;
|
|
case PROCESSOR_ARCHITECTURE_IA64:
|
|
return HostOsInfo::HostArchitectureItanium;
|
|
case PROCESSOR_ARCHITECTURE_ARM:
|
|
return HostOsInfo::HostArchitectureArm;
|
|
default:
|
|
return HostOsInfo::HostArchitectureUnknown;
|
|
}
|
|
#else
|
|
return HostOsInfo::HostArchitectureUnknown;
|
|
#endif
|
|
}
|
|
|
|
void HostOsInfo::setOverrideFileNameCaseSensitivity(Qt::CaseSensitivity sensitivity)
|
|
{
|
|
m_useOverrideFileNameCaseSensitivity = true;
|
|
m_overrideFileNameCaseSensitivity = sensitivity;
|
|
}
|
|
|
|
void HostOsInfo::unsetOverrideFileNameCaseSensitivity()
|
|
{
|
|
m_useOverrideFileNameCaseSensitivity = false;
|
|
}
|
|
|
|
bool HostOsInfo::canCreateOpenGLContext(QString *errorMessage)
|
|
{
|
|
#ifdef QT_NO_OPENGL
|
|
Q_UNUSED(errorMessage)
|
|
return false;
|
|
#else
|
|
static const bool canCreate = QOpenGLContext().create();
|
|
if (!canCreate)
|
|
*errorMessage = QApplication::translate("Utils::HostOsInfo",
|
|
"Cannot create OpenGL context.");
|
|
return canCreate;
|
|
#endif
|
|
}
|