forked from qt-creator/qt-creator
Add VxWorks 24.03 build support
Adds mkspec to Qt Version setup data so the vxworks plugin can recongise if the Qt is built for VxWorks. Adds toolchain file loading for vxworks cmake. Task-number: QTBUG-128631 Task-number: QTBUG-128630 Task-number: QTBUG-128627 Task-number: QTBUG-128626 Change-Id: Ia07d133ac56414451c92100bf85f4e7f51515910 Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -103,6 +103,8 @@ const char CMAKE_CXX_FLAGS[] = "CMAKE_CXX_FLAGS";
|
|||||||
const char CMAKE_CXX_FLAGS_DEBUG[] = "CMAKE_CXX_FLAGS_DEBUG";
|
const char CMAKE_CXX_FLAGS_DEBUG[] = "CMAKE_CXX_FLAGS_DEBUG";
|
||||||
const char CMAKE_CXX_FLAGS_RELWITHDEBINFO[] = "CMAKE_CXX_FLAGS_RELWITHDEBINFO";
|
const char CMAKE_CXX_FLAGS_RELWITHDEBINFO[] = "CMAKE_CXX_FLAGS_RELWITHDEBINFO";
|
||||||
|
|
||||||
|
const char VXWORKS_DEVICE_TYPE[] = "VxWorks.Device.Type";
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class CMakeBuildSettingsWidget : public NamedWidget
|
class CMakeBuildSettingsWidget : public NamedWidget
|
||||||
@@ -1132,6 +1134,11 @@ static bool isWebAssembly(const Kit *k)
|
|||||||
return DeviceTypeKitAspect::deviceTypeId(k) == WebAssembly::Constants::WEBASSEMBLY_DEVICE_TYPE;
|
return DeviceTypeKitAspect::deviceTypeId(k) == WebAssembly::Constants::WEBASSEMBLY_DEVICE_TYPE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool isVxWorks(const Kit *k)
|
||||||
|
{
|
||||||
|
return DeviceTypeKitAspect::deviceTypeId(k) == VXWORKS_DEVICE_TYPE;
|
||||||
|
}
|
||||||
|
|
||||||
static bool isQnx(const Kit *k)
|
static bool isQnx(const Kit *k)
|
||||||
{
|
{
|
||||||
return DeviceTypeKitAspect::deviceTypeId(k) == Qnx::Constants::QNX_QNX_OS_TYPE;
|
return DeviceTypeKitAspect::deviceTypeId(k) == Qnx::Constants::QNX_QNX_OS_TYPE;
|
||||||
@@ -1556,7 +1563,7 @@ CMakeBuildConfiguration::CMakeBuildConfiguration(Target *target, Id id)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isWebAssembly(k) || isQnx(k) || isWindowsARM64(k)) {
|
if (isWebAssembly(k) || isQnx(k) || isWindowsARM64(k) || isVxWorks(k)) {
|
||||||
if (qt && qt->qtVersion().majorVersion() >= 6)
|
if (qt && qt->qtVersion().majorVersion() >= 6)
|
||||||
cmd.addArg(CMAKE_QT6_TOOLCHAIN_FILE_ARG);
|
cmd.addArg(CMAKE_QT6_TOOLCHAIN_FILE_ARG);
|
||||||
}
|
}
|
||||||
|
@@ -2372,6 +2372,7 @@ QtVersion *QtVersionFactory::createQtVersionFromQMakePath
|
|||||||
setup.config = evaluator.values("CONFIG");
|
setup.config = evaluator.values("CONFIG");
|
||||||
setup.platforms = evaluator.values("QMAKE_PLATFORM"); // It's a list in general.
|
setup.platforms = evaluator.values("QMAKE_PLATFORM"); // It's a list in general.
|
||||||
setup.isQnx = !evaluator.value("QNX_CPUDIR").isEmpty();
|
setup.isQnx = !evaluator.value("QNX_CPUDIR").isEmpty();
|
||||||
|
setup.mkspec = mkspec.fileName();
|
||||||
|
|
||||||
for (QtVersionFactory *factory : factories) {
|
for (QtVersionFactory *factory : factories) {
|
||||||
if (!factory->m_restrictionChecker || factory->m_restrictionChecker(setup)) {
|
if (!factory->m_restrictionChecker || factory->m_restrictionChecker(setup)) {
|
||||||
|
@@ -38,7 +38,8 @@ protected:
|
|||||||
{
|
{
|
||||||
QStringList platforms;
|
QStringList platforms;
|
||||||
QStringList config;
|
QStringList config;
|
||||||
bool isQnx = false; // eeks...
|
bool isQnx = false; // eeks
|
||||||
|
QString mkspec;
|
||||||
};
|
};
|
||||||
|
|
||||||
void setQtVersionCreator(const std::function<QtVersion *()> &creator);
|
void setQtVersionCreator(const std::function<QtVersion *()> &creator);
|
||||||
|
Reference in New Issue
Block a user