Provide a way to describe VS project structure
In order to support additional toolchains within VS it would be ideal to provide a way to describe the structure of the project file.
As an example there is the Clang with Microsoft CodeGen (v140_clang_c2) toolchain available from MS within VS 2015. By default the CMAKE__FLAGS defines -fms-compatibility
. When generating with cmake -T v140_clang_c2 -H. -Bbuild-clang
The value of -fms-compatibility
ends up in <AdditionalOptions>
. By default the value is set to -fno-ms-compatiblity
within the toolchain. This corresponds to <MSCompatibility>
within <CLCompile>
. Since CMake has no idea on the structure of this toolchain this value cannot be generated and so the command line contains references to both -fno-ms-compatibility
and fms-compatibility
.
Having a way to describe the structure in a file rather than hard coding like the current flag table setup would really open up support for additional toolchains within CMake.