forked from qt-creator/qt-creator
McuSupport: Add flag in JSON for adding a package path to system path
An entry called "addToSystemPath" was added to JSON files to signal
whether the corresponding path should also be added to the system path.
Task-number: UL-6409
Change-Id: I2d7ba38b3905d67475a3c482692e4f8e21d4141e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Piotr Mućko <piotr.mucko@qt.io>
Reviewed-by: hjk <hjk@qt.io>
(cherry picked from commit fb643db088
)
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -649,7 +649,7 @@ static PackageDescription parsePackage(const QJsonObject &cmakeEntry)
|
||||
FilePath::fromUserInput(cmakeEntry["validation"].toString()),
|
||||
versions,
|
||||
parseVersionDetection(cmakeEntry),
|
||||
false};
|
||||
cmakeEntry["addToSystemPath"].toBool()};
|
||||
}
|
||||
|
||||
static QList<PackageDescription> parsePackages(const QJsonArray &cmakeEntries)
|
||||
|
@@ -140,7 +140,8 @@ McuPackagePtr McuTargetFactory::createPackage(const PackageDescription &pkgDesc)
|
||||
pkgDesc.envVar,
|
||||
pkgDesc.versions,
|
||||
{},
|
||||
createVersionDetection(pkgDesc.versionDetection)}};
|
||||
createVersionDetection(pkgDesc.versionDetection),
|
||||
pkgDesc.shouldAddToSystemPath}};
|
||||
}
|
||||
|
||||
McuToolChainPackage *McuTargetFactory::createToolchain(
|
||||
|
@@ -24,7 +24,8 @@ constexpr auto armgcc_ek_ra6m3g_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink",
|
||||
"unix": "/opt/SEGGER/JLink"
|
||||
},
|
||||
"optional": true
|
||||
"optional": true,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -24,7 +24,8 @@ constexpr auto armgcc_ek_ra6m3g_freertos_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink",
|
||||
"unix": "/opt/SEGGER/JLink"
|
||||
},
|
||||
"optional": true
|
||||
"optional": true,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto armgcc_mimxrt1050_evk_baremetal_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto armgcc_mimxrt1050_evk_freertos_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto armgcc_mimxrt1060_evk_baremetal_json = R"(
|
||||
"windows": "%{Env:ROOT}/nxp/MCUXpressoIDE*",
|
||||
"unix": "/usr/local/mcuxpressoide/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto armgcc_mimxrt1064_evk_baremetal_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto armgcc_mimxrt1064_evk_freertos_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto armgcc_mimxrt1170_evk_freertos_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -22,7 +22,8 @@ constexpr auto armgcc_stm32f469i_discovery_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto armgcc_stm32f769i_discovery_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto armgcc_stm32f769i_discovery_freertos_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto armgcc_stm32h750b_discovery_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -25,7 +25,8 @@ constexpr auto ghs_rh850_d1m1a_baremetal_json = R"(
|
||||
"unix": "%{Env:HOME}"
|
||||
},
|
||||
"envVar": "RenesasFlashProgrammer_PATH",
|
||||
"optional": true
|
||||
"optional": true,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -19,7 +19,8 @@ constexpr auto ghs_tviic2d4m_baremetal_json = R"(
|
||||
"label": "Cypress Auto Flash Utility",
|
||||
"type": "path",
|
||||
"cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR",
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -19,7 +19,8 @@ constexpr auto ghs_tviic2d6m_baremetal_json = R"(
|
||||
"label": "Cypress Auto Flash Utility",
|
||||
"type": "path",
|
||||
"cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR",
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -24,7 +24,8 @@ constexpr auto iar_ek_ra6m3g_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink",
|
||||
"unix": "/opt/SEGGER/JLink"
|
||||
},
|
||||
"optional": true
|
||||
"optional": true,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -24,7 +24,8 @@ constexpr auto iar_ek_ra6m3g_freertos_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/SEGGER/JLink",
|
||||
"unix": "/opt/SEGGER/JLink"
|
||||
},
|
||||
"optional": true
|
||||
"optional": true,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto iar_mimxrt1050_evk_baremetal_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto iar_mimxrt1050_evk_freertos_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto iar_mimxrt1060_evk_baremetal_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto iar_mimxrt1064_evk_baremetal_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto iar_mimxrt1064_evk_freertos_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -27,7 +27,8 @@ constexpr auto iar_mimxrt1170_evk_freertos_json = R"(
|
||||
"versionDetection": {
|
||||
"filePattern": "ide/binaries/crt_emu_cm_redlink"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -22,7 +22,8 @@ constexpr auto iar_stm32f469i_discovery_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto iar_stm32f769i_discovery_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto iar_stm32f769i_discovery_freertos_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -23,7 +23,8 @@ constexpr auto iar_stm32h750b_discovery_baremetal_json = R"(
|
||||
"windows": "%{Env:PROGRAMSANDFILES}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/",
|
||||
"unix": "%{Env:HOME}/STMicroelectronics/STM32Cube/STM32CubeProgrammer/"
|
||||
},
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -19,7 +19,8 @@ constexpr auto iar_tviic2d6m_baremetal_json = R"(
|
||||
"label": "Cypress Auto Flash Utility",
|
||||
"type": "path",
|
||||
"cmakeVar": "INFINEON_AUTO_FLASH_UTILITY_DIR",
|
||||
"optional": false
|
||||
"optional": false,
|
||||
"addToSystemPath": true
|
||||
}
|
||||
]
|
||||
},
|
||||
|
@@ -1454,4 +1454,21 @@ void McuSupportTest::test_defaultValueForEachOperationSystem()
|
||||
else
|
||||
QCOMPARE(QString("/usr/local/mcuxpressoide"), default_path_entry);
|
||||
};
|
||||
void McuSupportTest::test_addToSystemPathFlag()
|
||||
{
|
||||
const auto targetDescription = parseDescriptionJson(armgcc_stm32f769i_discovery_freertos_json);
|
||||
|
||||
const auto programmerPackage = targetDescription.platform.entries[0];
|
||||
const auto compilerPackage = targetDescription.toolchain.compiler;
|
||||
const auto toolchainFilePackage = targetDescription.toolchain.file;
|
||||
const auto boardSdkPackage = targetDescription.boardSdk;
|
||||
const auto freeRtosPackage = targetDescription.freeRTOS.package;
|
||||
|
||||
QCOMPARE(programmerPackage.shouldAddToSystemPath, true);
|
||||
QCOMPARE(compilerPackage.shouldAddToSystemPath, false);
|
||||
QCOMPARE(toolchainFilePackage.shouldAddToSystemPath, false);
|
||||
QCOMPARE(boardSdkPackage.shouldAddToSystemPath, false);
|
||||
QCOMPARE(freeRtosPackage.shouldAddToSystemPath, false);
|
||||
}
|
||||
|
||||
} // namespace McuSupport::Internal::Test
|
||||
|
@@ -96,6 +96,7 @@ private slots:
|
||||
void test_legacy_createThirdPartyPackage();
|
||||
|
||||
void test_defaultValueForEachOperationSystem();
|
||||
void test_addToSystemPathFlag();
|
||||
|
||||
private:
|
||||
QVersionNumber currentQulVersion{2, 0};
|
||||
|
Reference in New Issue
Block a user