[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