From c1db4f6accd91de5ccd780b6bb8d5dc89c472f24 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 9 Dec 2024 13:14:48 +0100 Subject: [PATCH] QbsProjectManager: Fix cross-compiling with clang In order to use a generic clang as a cross-compiler, we have to pass "- target" in the "platform codegen flags" in the toolchain settings. However, qbs errors out when that flag is used directly, so we need to filter it out along with "-arch". Change-Id: Ide83115b046bc53c330e86b5d5715640a4c5ed98 Reviewed-by: Christian Stenger --- src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp index 0ea8d83e55d..ebf6d5e80e2 100644 --- a/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp +++ b/src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp @@ -233,8 +233,7 @@ static void filterCompilerLinkerFlags(const ProjectExplorer::Abi &targetAbi, QSt { for (int i = 0; i < flags.size(); ) { if (targetAbi.architecture() != ProjectExplorer::Abi::UnknownArchitecture - && flags[i] == QStringLiteral("-arch") - && i + 1 < flags.size()) { + && (flags[i] == "-arch" || flags[i] == "-target") && i + 1 < flags.size()) { flags.removeAt(i); flags.removeAt(i); } else {