MantisBT - CMake
View Issue Details
0013498CMakeCMakepublic2012-08-30 11:502013-05-06 09:32
Angin3 
 
normalfeaturealways
closedduplicate 
CMake 2.8.9 
 
0013498: CMake does not fully support Visual Studio 11 WinRT project type
CMake currently does not fully support setting project type as needed to develop WinRT applications for Windows 8 with the Visual Studio 11 generator.

A lot of work was done here : http://www.cmake.org/Bug/view.php?id=12930 [^]

But that is not enought.

VS_WINRT_EXTENSIONS add <WindowsAppContainer>true</WindowsAppContainer> tag to <PropertyGroup> tag witch have specific "Condition".

Example output :

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
    <ConfigurationType>Application</ConfigurationType>
    <PlatformToolset>v110</PlatformToolset>
    <WindowsAppContainer>true</WindowsAppContainer>
  </PropertyGroup>

Because of that we are able to compile windows runtime code and generate .exe code.

But the next step after compilation is to deploy app and try to debug. We need <AppContainerApplication>true</AppContainerApplication> tag to obtain that feature on. That will be in <PropertyGroup Label="Globals"> tag.

Example :

  <PropertyGroup Label="Globals">
    <ProjectGuid>{93441f5d-57bf-4021-a2e3-973fac0ac3c4}</ProjectGuid>
    <RootNamespace>Direct3DApp1</RootNamespace>
    <DefaultLanguage>en-US</DefaultLanguage>
    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
    <AppContainerApplication>true</AppContainerApplication>
  </PropertyGroup>

  (source from Visual Studio Professional 2012 Direct3DApp sample )

Generaly using <AppContainerApplication> instead of <WindowsAppContainer> will make whole process more easly. <AppContainerApplication> in "Globals" label override all "Configuration" labels and make it possible to deploy and debug WinRT app. Additionally <AppContainerApplication> make "Windows Store App Support" to grey and hardcode "Yes" statement.

Pure Visual Studio 2012 WinRT sample app use only <AppContainerApplication> tag.
No tags attached.
duplicate of 0013511closed Brad King Add support for WinRT platforms and "metro" apps 
related to 0012930closed Brad King [patch] CMake does not support Visual Studio 11 WinRT project type 
related to 0013749closed  Cannot target Windows 8 RT from CMake without workarounds. 
Issue History
2012-08-30 11:50Angin3New Issue
2012-08-30 13:03Brad KingRelationship addedrelated to 0012930
2012-08-30 13:04Brad KingStatusnew => backlog
2012-08-31 04:22Eugene GolushkovNote Added: 0030805
2012-09-05 07:17Eugene GolushkovNote Deleted: 0030805
2012-11-28 08:34Brad KingRelationship addedrelated to 0013749
2012-11-28 08:36Brad KingRelationship addedrelated to 0013511
2012-11-28 08:42Brad KingNote Added: 0031738
2012-12-18 07:59Brad KingRelationship replacedduplicate of 0013511
2012-12-18 08:00Brad KingNote Added: 0031915
2012-12-18 08:00Brad KingStatusbacklog => resolved
2012-12-18 08:00Brad KingResolutionopen => duplicate
2013-05-06 09:32Robert MaynardNote Added: 0032988
2013-05-06 09:32Robert MaynardStatusresolved => closed

Notes
(0031738)
Brad King   
2012-11-28 08:42   
Issues 0013511, 0013498, 0013749 are all asking for WinRT support in some form. The existing CMake features for it were contributed by a user in 0012930. No progress is being made on these issues by upstream CMake developers. Please propose patches.

There should be no new keyword arguments to add_executable. Any information needed can be added to a target with the "set_property(TARGET ...)" command.
(0031915)
Brad King   
2012-12-18 08:00   
Resolving as duplicate of 0013511. Even though this one came first there has been more discussion over there.
(0032988)
Robert Maynard   
2013-05-06 09:32   
Closing resolved issues that have not been updated in more than 4 months.