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

Reply via email to