diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index d50fcdcedb2..cccc08d4b59 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -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_RELWITHDEBINFO[] = "CMAKE_CXX_FLAGS_RELWITHDEBINFO"; +const char VXWORKS_DEVICE_TYPE[] = "VxWorks.Device.Type"; + namespace Internal { class CMakeBuildSettingsWidget : public NamedWidget @@ -1132,6 +1134,11 @@ static bool isWebAssembly(const Kit *k) 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) { 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) cmd.addArg(CMAKE_QT6_TOOLCHAIN_FILE_ARG); } diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 1f3bfe2d404..8102cef7c60 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -2372,6 +2372,7 @@ QtVersion *QtVersionFactory::createQtVersionFromQMakePath setup.config = evaluator.values("CONFIG"); setup.platforms = evaluator.values("QMAKE_PLATFORM"); // It's a list in general. setup.isQnx = !evaluator.value("QNX_CPUDIR").isEmpty(); + setup.mkspec = mkspec.fileName(); for (QtVersionFactory *factory : factories) { if (!factory->m_restrictionChecker || factory->m_restrictionChecker(setup)) { diff --git a/src/plugins/qtsupport/qtversionfactory.h b/src/plugins/qtsupport/qtversionfactory.h index 2832fe55fbc..d370d146131 100644 --- a/src/plugins/qtsupport/qtversionfactory.h +++ b/src/plugins/qtsupport/qtversionfactory.h @@ -38,7 +38,8 @@ protected: { QStringList platforms; QStringList config; - bool isQnx = false; // eeks... + bool isQnx = false; // eeks + QString mkspec; }; void setQtVersionCreator(const std::function &creator);