aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2021-02-09 13:13:22 +0100
committerCristian Adam <cristian.adam@qt.io>2021-02-10 11:47:34 +0000
commit15487863ace50150f04b3a87edd3a319af0de3b5 (patch)
tree040d192635edc4aaec208497177db727f138d2ee
parent1641f2eb8771f0eafb43e83a0a54321da9a2e374 (diff)
ProjectExplorer: Use canonical paths for compiler toolchain match
On Linux (Ubuntu 20.04) Qt Creator would use /usr/bin/g++ as compiler for C++. CMake would pick /usr/bin/c++ as C++ compiler. Both of them are symlinks to /usr/bin/x86_64-linux-gnu-g++-9 ammends 4ae5516453e86b64326e61b14603ed1508aeb319 Change-Id: Id50cb47ed4e728541baed6a191435f2ad0137628 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--src/plugins/projectexplorer/projectimporter.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/projectimporter.cpp b/src/plugins/projectexplorer/projectimporter.cpp
index 73fe4d1c0b..cd5ee7e311 100644
--- a/src/plugins/projectexplorer/projectimporter.cpp
+++ b/src/plugins/projectexplorer/projectimporter.cpp
@@ -38,6 +38,7 @@
#include <coreplugin/icore.h>
#include <utils/algorithm.h>
+#include <utils/environment.h>
#include <utils/qtcassert.h>
#include <QLoggingCategory>
@@ -394,7 +395,9 @@ ProjectImporter::findOrCreateToolChains(const ToolChainDescription &tcd) const
{
ToolChainData result;
result.tcs = ToolChainManager::toolChains([&tcd](const ToolChain *tc) {
- return tc->language() == tcd.language && tc->compilerCommand() == tcd.compilerPath;
+ return tc->language() == tcd.language &&
+ Utils::Environment::systemEnvironment().isSameExecutable(
+ tc->compilerCommand().toString(), tcd.compilerPath.toString());
});
for (const ToolChain *tc : result.tcs) {
const QByteArray tcId = tc->id();