Thanks Brad, sounds like a plan.

Patrick's comments about using CMAKE_GENERATOR_TOOLSET have made me think we 
should have a combined "Visual Studio 11 2012 Windows-Store" generator using 
CMAKE_GENERATOR_TOOLSET to switch between Windows Store and Windows Phone. 
 (The Windows Store and Phone C/C++ APIs are very similar, but don't share an 
ABI).

I think it could simplify future work on the generator and potentially make it 
more widely applicable. Would it be feasible in future to update this 
generator's findPackage() to make it toolset and platform aware, without 
breaking existing generator behaviour?

What do you think?

Paul.
-----Original Message-----
From: Brad King [mailto:[email protected]] 
Sent: 18 October 2013 17:52
To: Paul Annetts
Cc: 'Patrick Gansterer'; [email protected]
Subject: Re: [cmake-developers] Patches for Visual Studio multi-CPU 
architecture project generation and a Windows-Phone-8 generator

On 10/18/2013 12:03 PM, Paul Annetts wrote:
> Any multi-CPU arch generator which tries to at one point during the 
> CMAKE configure step to determine endianess or sizeof(T*) is always going to 
> get the answer wrong for one or more of those architectures. It is not 
> difficult to find out these values from the compiler or standard C/C++. 
> However such a generator will share a common API across the CPU archs and so 
> have the potential to add significant user benefit.
> 
> My experience is that WP8 benefits greatly from multi-platform support, so 
> that practical usage of CMAKE is kept simple and flexible for end users. In 
> my opinion this outweighs the theoretical benefit of find_package() for WP8 
> (for a sum total of 0 current compatible binaries).
> 
> ​However on balance I don’t think adding multi-platform to the general VS 
> toolchain adds any value. For example there’s no point in compiling CMAKE for 
> x64 as it doesn't need to address > 4GB RAM and it won't even be possible to 
> compile it for ARM as CMAKE can’t run under Windows 8 RT.

Okay, I think we can work with adding the CMAKE_GENERATOR_PLATFORMS variable to 
specify the list of platforms (what you called CMAKE_MSVC_PLATFORMS).  It can 
be documented as supported only by the WP8 generators for now.  If a project or 
user sets the variable they are responsible for making the build work that way. 
 It won't appear by default or be used by other generators so no one else will 
be affected.

Thanks,
-Brad
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers

Reply via email to