diff options
Diffstat (limited to 'qmake/generators/win32')
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 67 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.h | 1 |
2 files changed, 68 insertions, 0 deletions
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp index 7f4240f196..730a7cfa46 100644 --- a/qmake/generators/win32/msvc_vcproj.cpp +++ b/qmake/generators/win32/msvc_vcproj.cpp @@ -879,6 +879,11 @@ void VcprojGenerator::initProject() initFormFiles(); initResourceFiles(); initExtraCompilerOutputs(); + if (vcProject.Configuration.WinRT) { + if (vcProject.Configuration.WinPhone + && vcProject.Configuration.ConfigurationType == typeApplication) + initWMAppManifest(); + } // Own elements ----------------------------- vcProject.Name = unescapeFilePath(project->first("QMAKE_ORIG_TARGET").toQString()); @@ -1565,6 +1570,68 @@ void VcprojGenerator::initExtraCompilerOutputs() } } +void VcprojGenerator::initWMAppManifest() +{ + if (!project->isActiveConfig("autogen_wmappmanifest")) + return; + + // autogen_wmappmanifest + QFile file(Option::output_dir + "\\WMAppManifest.xml"); + if (!file.open(QFile::WriteOnly)) + return; + + QTextStream stream(&file); + + QString productID = project->first("PRODUCTID").toQString(); + QString target = project->first("TARGET").toQString(); + QString author = project->first("AUTHOR").toQString(); + QString publisher = project->first("PUBLISHER").toQString(); + QString publisherID = project->first("PUBLISHERID").toQString(); + QString description = project->first("DESCRIPTION").toQString(); + + if (author.isEmpty()) + author = "Qt"; + if (publisher.isEmpty()) + publisher = "Qt"; + if (productID.isEmpty()) + productID = QUuid::createUuid().toString(); + if (publisherID.isEmpty()) + publisherID = QUuid::createUuid().toString(); + + stream << "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + << "<Deployment xmlns=\"http://schemas.microsoft.com/windowsphone/2012/deployment\" AppPlatformVersion=\"8.0\">\n" + << " <DefaultLanguage xmlns=\"\" code=\"en-US\"/>\n" + << " <App xmlns=\"\" ProductID=\"" << productID << "\" Title=\"" << target + << "\" RuntimeType=\"Modern Native\" Version=\"1.0.0.0\"" + << " Genre=\"apps.normal\" Author=\"" << author + << "\" Description=\"" << description << "\" Publisher=\"" << publisher + << "\" PublisherID=\"" << publisherID << "\">\n" + << " <IconPath IsRelative=\"true\" IsResource=\"false\">ApplicationIcon.png</IconPath>\n" + << " <Capabilities>\n" + << " <Capability Name=\"ID_CAP_NETWORKING\" />\n" + << " <Capability Name=\"ID_CAP_MEDIALIB_AUDIO\" />\n" + << " <Capability Name=\"ID_CAP_MEDIALIB_PLAYBACK\" />\n" + << " </Capabilities>\n" + << " <Tasks>\n" + << " <DefaultTask Name=\"_default\" ImagePath=\"" << target << ".exe\" ImageParams=\"\" />\n" + << " </Tasks>\n" + << " <Tokens>\n" + << " <PrimaryToken TokenID=\"" << target << "Token\" TaskName=\"_default\">\n" + << " <TemplateType5>\n" + << " <Count>0</Count>\n" + << " <Title>" << target << "</Title>\n" + << " </TemplateType5>\n" + << " </PrimaryToken>\n" + << " </Tokens>\n" + << " <ScreenResolutions>\n" + << " <ScreenResolution Name=\"ID_RESOLUTION_WVGA\" />\n" + << " <ScreenResolution Name=\"ID_RESOLUTION_WXGA\" />\n" + << " <ScreenResolution Name=\"ID_RESOLUTION_HD720P\" />\n" + << " </ScreenResolutions>\n" + << " </App>\n" + << "</Deployment>\n"; +} + void VcprojGenerator::initOld() { // $$QMAKE.. -> $$MSVCPROJ.. ------------------------------------- diff --git a/qmake/generators/win32/msvc_vcproj.h b/qmake/generators/win32/msvc_vcproj.h index 561e56d232..d531085307 100644 --- a/qmake/generators/win32/msvc_vcproj.h +++ b/qmake/generators/win32/msvc_vcproj.h @@ -120,6 +120,7 @@ protected: void initDeploymentFiles(); void initLexYaccFiles(); void initExtraCompilerOutputs(); + void initWMAppManifest(); void writeSubDirs(QTextStream &t); // Called from VCXProj backend QUuid getProjectUUID(const QString &filename=QString()); // Called from VCXProj backend |