VS: Map non-built file item metadata using JSON file discussion
Discussion of Merge Request: !4448 (closed)
The proposed change moves the mapping of non-built file properties to msbuild item metadata out of the source and into a JSON file per non-built file type.
The motivation for this change is to allow extensibility of this functionality. It would allow users to easily add additional properties to currently supported non-built file types such as HLSL, as well as mappings for new non-built file types entirely, without having to change the CMake source. This would make maintenance of these file types easier in the future as source changes will not be needed to extend properties.
Additionally, we provide MSBuild extensions to support our own third party tools, the input files for which are treated as non-built files. In order for CMake to be able to generate the appropriate item metadata on these items in the project file, we must be able to specify this mapping.