[cmake-developers] [CMake 0013791]: CMake does not support generating projects for Windows Phone 8.

Mantis Bug Tracker mantis at public.kitware.com
Thu Dec 13 15:55:26 EST 2012


The following issue has been SUBMITTED. 
====================================================================== 
http://www.cmake.org/Bug/view.php?id=13791 
====================================================================== 
Reported By:                jujjyl
Assigned To:                
====================================================================== 
Project:                    CMake
Issue ID:                   13791
Category:                   CMake
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     new
====================================================================== 
Date Submitted:             2012-12-13 15:55 EST
Last Modified:              2012-12-13 15:55 EST
====================================================================== 
Summary:                    CMake does not support generating projects for
Windows Phone 8.
Description: 
I have not found an option to generate solution/project files for "Visual Studio
2012 Express for Windows Phone 8". The project files to target Windows Phone 8
differ somewhat of those from Windows Desktop 8 and Windows RT 8. I assume that
since Windows RT 8 option doesn't yet exist, Windows Phone 8 targeting does not
exist either?

Marking down this issue to discuss required additions towards supporting this.

Additional Information: 
I went through and compared .vcxproj files for Windows Phone 8 and Windows RT 8.
The project file generated for "Visual Studio 11" requires at least the
following modifications to allow Windows Phone 8 deployment:

 - Must add elements <RootNamespace>project name?</RootNamespace>
<DefaultLanguage>en-US</DefaultLanguage>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<XapOutputs>true</XapOutputs>
<XapFilename>Project_Name_$(Configuration)_$(Platform).xap</XapFilename>
<WinMDAssembly>true</WinMDAssembly> to the <PropertyGroup Label="Globals">
section of the generated .vcxproj file.

 - Must replace <PlatformToolset>v110</PlatformToolset> with
<PlatformToolset>v110_wp80</PlatformToolset>

 - Must remove default-added linking to the following libraries:
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;
 
 - Must add a line <Import
Project="$(MSBuildExtensionsPath)\Microsoft\WindowsPhone\v$(TargetPlatformVersion)\Microsoft.Cpp.WindowsPhone.$(TargetPlatformVersion).targets"
/> before the section <ImportGroup Label="ExtensionTargets"> in the .vcxproj
file.

 - Must add a reference to assembly 'Platform.winmd' to the compiler options.
The command line for this is "/FU Platform.winmd"

Note that the <AppContainerApplication>true</AppContainerApplication> element
that exists for Win8RT project files is not present for Win8 Phone project
files.

I hope this list is useful for someone that might be capable in implementing
support for this in cmake. A good way to compare is to open VS2012 and create a
new project from the native C++ Direct3D application template, which exists for
both VS2012 Express for Windows 8 and V2012 Express for Windows Phone 8.
Comparing the .vcxproj files gives a good diff of the changes.
====================================================================== 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2012-12-13 15:55 jujjyl         New Issue                                    
======================================================================




More information about the cmake-developers mailing list