From f17c0fe19cc117ae9c8bc8cdf348603e51f61c29 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Wed, 5 Jun 2024 00:50:37 +0200 Subject: [PATCH 1/2] CMakePM: Fix Presets macro expanding of environment Amends a25bbf23c64c912b39bf2020df73c0db97b5bc40 The commit broke evironment variable usage in CMake presets. For example "$env{HOME}" would have been expanded to "/home/user:/home/user" because of code thinking it deals with paths. Change-Id: I3ef34179e2ebaf55b25a42dcce87438c1a72b73e Reviewed-by: Eike Ziller --- .../cmakeprojectmanager/presetsmacros.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/plugins/cmakeprojectmanager/presetsmacros.cpp b/src/plugins/cmakeprojectmanager/presetsmacros.cpp index b7496d0c412..cfc161b417e 100644 --- a/src/plugins/cmakeprojectmanager/presetsmacros.cpp +++ b/src/plugins/cmakeprojectmanager/presetsmacros.cpp @@ -139,11 +139,13 @@ void expand(const PresetType &preset, Environment &env, const FilePath &sourceDi return presetEnv.value(macroName); }); - bool append = true; + enum Operation { set, appendOrSet, prependOrSet }; + Operation op = set; if (key.compare("PATH", Qt::CaseInsensitive) == 0) { + op = appendOrSet; const int index = value.indexOf("$penv{PATH}", 0, Qt::CaseInsensitive); if (index != 0) - append = false; + op = prependOrSet; value.replace("$penv{PATH}", "", Qt::CaseInsensitive); } @@ -154,10 +156,17 @@ void expand(const PresetType &preset, Environment &env, const FilePath &sourceDi // Make sure to expand the CMake macros also for environment variables expandAllButEnv(preset, sourceDirectory, value); - if (append) + switch (op) { + case set: + env.set(key, value); + break; + case appendOrSet: env.appendOrSet(key, value); - else + break; + case prependOrSet: env.prependOrSet(key, value); + break; + } }); } From 1ad2c04e0ea5aae60ae7236229f4588846c40229 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 5 Jun 2024 09:02:10 +0200 Subject: [PATCH 2/2] Update change log for 13.0.2 Change-Id: I542d2f53d957471660ae0c210c4825b5a9c42a57 Reviewed-by: Eike Ziller --- dist/changelog/changes-13.0.2.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/dist/changelog/changes-13.0.2.md b/dist/changelog/changes-13.0.2.md index 3e1b67b3784..629efc3d1b0 100644 --- a/dist/changelog/changes-13.0.2.md +++ b/dist/changelog/changes-13.0.2.md @@ -28,9 +28,17 @@ Editing * Fixed that `Use Qt module name in #include-directive` used Qt 4 module names ([QTCREATORBUG-30751](https://bugreports.qt.io/browse/QTCREATORBUG-30751)) +### Copilot + +* Adapted to changes in the Copilot neovim plugin + Projects -------- +### CMake + +* Fixed the environment macro expansion for Presets + ### Meson * Fixed a crash when selecting kits