- 
    
Bug
 - 
    Resolution: Fixed
 - 
    
  Not Evaluated                     
     - 
    Qt Creator 10.0.0
 - 
    None
 
- 
        65a1637d6 (10.0)
 
Transitive inheritance of generator, binary path, condition and CMake cache variables does not work properly. With this CMakePresets.json file
{
  "version": 3,
  "configurePresets": [
    {
      "name": "level 0",
      "binaryDir": "${sourceDir}/build/${presetName}",
      "generator": "Ninja Multi-Config",
      "hidden": true,
      "cacheVariables": {
        "FOO": "BAR"
      },
      "condition": {
          "type": "const",
          "value": false
      }
    },
    {
      "name": "level 1",
      "inherits": "level 0",
      "cacheVariables": {
        "BAR": "BAZ"
      }
    },
    {
      "name": "level 2",
      "inherits": "level 1"
    }
  ]
}
instead of not showing any preset, the level 2 preset is shown, and its generator and binary path use the default values instead of those specified in the "level 0" preset. Moreover, when configuring a project with the level 2 preset only the CMake cache variable BAR defined in the level 1 preset is set, but the FOO variable from the level 0 preset isn't.
I have not checked whether properties other than these 4 (e.g. env variables) are affected, too, but I suspect they are.
| For Gerrit Dashboard: QTCREATORBUG-29076 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V | 
| 473832,3 | CMakePM: Fix presets transitive inheritance | 10.0 | qt-creator/qt-creator | Status: MERGED | +2 | 0 |