[CMake] Add support for Metro apps

Minmin Gong minmin.gong at gmail.com
Fri Jan 31 01:48:59 EST 2014


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140131/469e8099/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-CMake-Add-support-for-WinRT-platforms-and-metro-apps.patch
Type: application/octet-stream
Size: 24228 bytes
Desc: not available
URL: <http://www.cmake.org/pipermail/cmake/attachments/20140131/469e8099/attachment-0001.obj>


More information about the CMake mailing list