summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-06-25 15:02:05 +0200
committerEike Ziller <eike.ziller@qt.io>2020-06-30 10:33:31 +0000
commitb684d4c827f3f2904200ea0e8e6a64c47d574983 (patch)
treee59f313426969131218a414977b5915301e3abb1
parent2c2cd08761372b212e14de7e2b46590d658d13bd (diff)
downloadqt-creator-b684d4c827f3f2904200ea0e8e6a64c47d574983.tar.gz
CMake: Fix handling of setting for Ninja path
When Ninja is installed via the installer, it writes the full path to the Ninja binary into the settings. Change-Id: I95a19c8c1afbf980c899fb1eeb8656e7e86ad4a2 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
-rw-r--r--src/plugins/cmakeprojectmanager/builddirparameters.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/plugins/cmakeprojectmanager/builddirparameters.cpp b/src/plugins/cmakeprojectmanager/builddirparameters.cpp
index 1c71396c76..942485cad0 100644
--- a/src/plugins/cmakeprojectmanager/builddirparameters.cpp
+++ b/src/plugins/cmakeprojectmanager/builddirparameters.cpp
@@ -64,8 +64,11 @@ BuildDirParameters::BuildDirParameters(CMakeBuildConfiguration *bc)
environment.set("ICECC", "no");
CMakeSpecificSettings *settings = CMakeProjectPlugin::projectTypeSpecificSettings();
- if (!settings->ninjaPath().isEmpty())
- environment.appendOrSetPath(settings->ninjaPath().toString());
+ if (!settings->ninjaPath().isEmpty()) {
+ const Utils::FilePath setting = settings->ninjaPath();
+ const Utils::FilePath path = setting.toFileInfo().isFile() ? setting.parentDir() : setting;
+ environment.appendOrSetPath(path.toString());
+ }
cmakeToolId = CMakeKitAspect::cmakeToolId(k);