[CMake] [PATCH] Add support for Metro apps

Minmin Gong minmin.gong at gmail.com
Wed Feb 5 02:13:18 EST 2014


I've updated my patch again to V3. In this version, the WinRT is considered
as a platform. Generators with "WinRT" suffix, such as "Visual Studio 12
WinRT", "Visual Studio 12 ARM WinRT", can be used to generate a WinRT
targeting MSVC project. It would be easier to use than the hack before.

Comments are welcome.

Minmin



2014-02-01 Minmin Gong <minmin.gong at gmail.com>:

> I've updated my patch based on comments in
> http://www.cmake.org/Bug/view.php?id=13511#c35015.
>
> Minmin
>
>
> 2014-01-31 Minmin Gong <minmin.gong at gmail.com>:
>
> Here comes a new version of this patch. In this version, ARM are also
>> supported. Modifications include:
>> 1. Determine MSVC ARM compiler.
>>    Cmake can determine and test VC's x86-arm compiler correctly, and mark
>> it as cross compiling. This feature is inspired by Martell Malone's
>> patch in http://www.cmake.org/Bug/view.php?id=13511#c32952.
>> 2. Modify ARM's utility project to Win32 configuration.
>>    Utility projects, such as ALL_BUILD and ZERO_CHECKS, can't be win
>> store or ARM configuration. They are changed to Win32 by default.
>>
>> With this patch, any configuration targeting WinRT platform should be
>> supported. The project files can be generated, built and depolyed well.
>>
>> Minmin
>>
>>
>>
>> 2013-11-27 Minmin Gong <minmin.gong at gmail.com>:
>>
>> In our project, we need to build an Win8+ Metro app. Currently the CMake
>>> do support VS_WINRT_EXTENSIONS. However, if you want to build an exe
>>> instead of dll or lib, even with x86 or x64, it always fails because
>>> lacking of some tags in vcxproj and sln.
>>>
>>> The requirements about it in our project are:
>>> 1. The primary platform is x86 and x64.
>>> 2. Support both MSBuild and VS2012+ for building.
>>>
>>> So I made this patch for WinRT/Metro apps, based on the master branch of
>>> CMake. In this patch,
>>>
>>> 1. Add AppContainerApplication, ApplicationType,
>>> MinimumVisualStudioVersion and ApplicationTypeRevision tags to vcxproj when
>>> VS_WINRT_EXTENSIONS is on.
>>> 2. Recognize AppxManifest file type.
>>> 3. A dedicated boolean source file property "VS_WINRT_CONTENT" is added.
>>> Generator expressions is also supported here.
>>> 4. Add "Deploy.0" in .sln for deploy WinRT apps by default, as WinCE
>>> apps do.
>>> 5. Add PackageCertificateKeyFile tag to vcxproj for package
>>> certification.
>>>
>>> After that, an app with x86 or x64 configuration can be correctly built
>>> an packed. Do you have some more suggestions about this feature?
>>> Thanks.
>>>
>>> --
>>> Minmin Gong
>>>
>>
>>
>>
>> --
>> Minmin Gong
>>
>
>
>
> --
> Minmin Gong
>



-- 
Minmin Gong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140205/df0df806/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-CMake-Add-support-for-WinRT-platforms-and-metro-apps.v3.patch
Type: application/octet-stream
Size: 11552 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140205/df0df806/attachment-0003.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-CMake-Add-support-for-WinRT-platforms-and-metro-apps.v3.patch
Type: application/octet-stream
Size: 7190 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140205/df0df806/attachment-0004.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-CMake-Add-support-for-WinRT-platforms-and-metro-apps.v3.patch
Type: application/octet-stream
Size: 3521 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140205/df0df806/attachment-0005.obj>


More information about the CMake mailing list