From 579240df150cf97f7d158306af5b5d54b2f43f70 Mon Sep 17 00:00:00 2001 From: grasci <86058054+grasci-arm@users.noreply.github.com> Date: Wed, 18 Sep 2024 15:21:09 +0100 Subject: [PATCH] Improved algorithm to locate compatible toolchain --- tools/projmgr/src/ProjMgrWorker.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/tools/projmgr/src/ProjMgrWorker.cpp b/tools/projmgr/src/ProjMgrWorker.cpp index 0192a6c9d..d790a2f46 100644 --- a/tools/projmgr/src/ProjMgrWorker.cpp +++ b/tools/projmgr/src/ProjMgrWorker.cpp @@ -4491,14 +4491,12 @@ bool ProjMgrWorker::GetToolchainConfig(const string& toolchainName, const string // get toolchain configuration files if (m_toolchainConfigFiles.empty()) { const string& compilerRoot = GetCompilerRoot(); - error_code ec; - for (auto const& entry : fs::recursive_directory_iterator(compilerRoot, ec)) { - string extn = entry.path().extension().string(); - if (entry.path().extension().string() != ".cmake") { - continue; - } - m_toolchainConfigFiles.push_back(entry.path().generic_string()); - } + // get *.cmake files from compiler root (not recursively) + auto cmakeFiles = RteFsUtils::GrepFiles(compilerRoot, "*.cmake"); + std::transform(cmakeFiles.begin(), cmakeFiles.end(), std::back_inserter(m_toolchainConfigFiles), + [](const std::filesystem::path& item) { + return item.generic_string(); + }); } // find greatest compatible file bool found = false;