On 08/24/2016 03:39 PM, Olmstead, Don wrote: > For a first pass it might be best to just follow what is in cmIDEFlagTable > as this would largely be unintrusive and just get the architecture there.
Yes, let's go with a direct mapping for now. These files don't necessarily have to be pretty. On 08/24/2016 09:35 PM, Olmstead, Don wrote: > class cmVisualStudio10ToolsetOptions > { > public: > cmIDEFlagTable const* GetClFlagTable(std::string name) const; > cmIDEFlagTable const* GetRcFlagTable(std::string name) const; > cmIDEFlagTable const* GetLibFlagTable(std::string name) const; > cmIDEFlagTable const* GetLinkFlagTable(std::string name) const; > cmIDEFlagTable const* GetMasmFlagTable(std::string name) const; > }; > #endif Looks good. One challenge will be the toolset lookup. There are many variations of some toolset names and we need to figure out how to map to a specific JSON file without duplicating them excessively. > One possible addition might be to include the target architecture. It appears > that > at least within VS 2015 the Toolsets are organized first by architecture > (MSBuild\Microsoft.Cpp\v4.0\V140\Platforms). Yes, we can add that if needed. > It feels like it should possibly get bolted onto > cmGlobalVisualStudio10Generator > with the Get*FlagTable methods moved over from > cmVisualStudio10TargetGenerator. Yes. > Also from looking at the various definitions within MSBuild that creating a > tool > that parses the XML definitions into what's expected by whatever the JSON > format > ends up looking like wouldn't be too bad. I started a script in Python that > would > probably do the trick. If there's a preferred language though I can use that > assuming something along those lines would be accepted in a patch. For one-shot conversions any language is fine. Source/cmparseMSBuildXML.py is the script we currently use for this (followed by some hand editing). > When contributing would you prefer a series of patches or just a > single large patch? We prefer series of incremental patches. Thanks, -Brad -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers