CMakePM: Set CMakePM project settings via CMakePresets's vendor field

The field name is "qt.io/QtCreator/1.0":

```
  "vendor": {
    "qt.io/QtCreator/1.0": {
       "AskBeforePresetsReload": false,
       "AskReConfigureInitialParams": false,
       "AutorunCMake": false,
       "PackageManagerAutoSetup": false,
       "ShowAdvancedOptionsByDefault": true,
       "ShowSourceSubFolders": false,
       "UseJunctionsForSourceAndBuildDirectories": true
    }
  }
```

Fixes: QTCREATORBUG-25972
Fixes: QTCREATORBUG-29559
Fixes: QTCREATORBUG-30385
Change-Id: Ifac0d10eebda85f8d97e7a1387325a555101ea6d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
Cristian Adam
2024-05-24 17:24:04 +02:00
parent fffa067a00
commit 1a5f61adca
4 changed files with 65 additions and 5 deletions

View File

@@ -121,6 +121,14 @@ Internal::PresetsData CMakeProject::combinePresets(Internal::PresetsData &cmakeP
result.include = cmakeUserPresetsData.include;
}
result.vendor = cmakePresetsData.vendor;
if (result.vendor) {
if (cmakeUserPresetsData.vendor)
result.vendor->insert(cmakeUserPresetsData.vendor.value());
} else {
result.vendor = cmakeUserPresetsData.vendor;
}
auto combinePresetsInternal = [](auto &presetsHash,
auto &presets,
auto &userPresets,