axii.switch_os removes additional dictionary entries in prepare step
On the feature/jammy branch, I'm trying to fix some modules so they work under U22. I encountered a problem when modifying the ogre module to use a compiler under U22. The original prepare step is
"prepare": {
"cmake": {
"project_name": "OGRE",
"definitions": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "install",
"OGRE_GLSUPPORT_USE_EGL": "ON",
"OGRE_NODELESS_POSITIONING": "ON",
"OGRE_BUILD_COMPONENT_OVERLAY_IMGUI": "OFF",
"OGRE_BUILD_COMPONENT_BITES": "OFF",
"OGRE_BUILD_COMPONENT_PYTHON": "OFF",
"OGRE_BUILD_COMPONENT_JAVA": "OFF",
"OGRE_BUILD_COMPONENT_CSHARP": "OFF",
"OGRE_BUILD_PLUGIN_BSP": "OFF",
"OGRE_BUILD_PLUGIN_DOT_SCENE": "OFF",
"OGRE_BUILD_PLUGIN_FREEIMAGE": "OFF",
"OGRE_BUILD_PLUGIN_EXRCODEC": "OFF",
"OGRE_BUILD_PLUGIN_OCTREE": "OFF",
"OGRE_BUILD_PLUGIN_PCZ": "OFF",
"OGRE_BUILD_PLUGIN_PFX": "OFF"
}
}
}
The changed prepare step looks like this
"prepare": {
"cmake": {
"project_name": "OGRE",
"definitions": {
"CMAKE_BUILD_TYPE": "Release",
"CMAKE_INSTALL_PREFIX": "install",
"OGRE_GLSUPPORT_USE_EGL": "ON",
"OGRE_NODELESS_POSITIONING": "ON",
"OGRE_BUILD_COMPONENT_OVERLAY_IMGUI": "OFF",
"OGRE_BUILD_COMPONENT_BITES": "OFF",
"OGRE_BUILD_COMPONENT_PYTHON": "OFF",
"OGRE_BUILD_COMPONENT_JAVA": "OFF",
"OGRE_BUILD_COMPONENT_CSHARP": "OFF",
"OGRE_BUILD_PLUGIN_BSP": "OFF",
"OGRE_BUILD_PLUGIN_DOT_SCENE": "OFF",
"OGRE_BUILD_PLUGIN_FREEIMAGE": "OFF",
"OGRE_BUILD_PLUGIN_EXRCODEC": "OFF",
"OGRE_BUILD_PLUGIN_OCTREE": "OFF",
"OGRE_BUILD_PLUGIN_PCZ": "OFF",
"OGRE_BUILD_PLUGIN_PFX": "OFF",
"axii.switch_os": {
"jammy": {
"CMAKE_C_COMPILER": "$GCC_9",
"CMAKE_CXX_COMPILER": "$GXX_9"
},
"default": {}
}
}
}
}
I would expect this change to only add the CMAKE_C_COMPILER
and CMAKE_CXX_COMPILER
under U22 and have the rest of the flags regardless of the operating system. However, under U22 only the flags under axii.switch_os are added in the prepare step and the rest of the flags are lost. If I add all of them to the switch_os, it works again.