summaryrefslogtreecommitdiffstats
path: root/mkspecs/common
diff options
context:
space:
mode:
authorAndrew Knight <andrew.knight@digia.com>2014-01-24 07:47:51 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-01-24 08:19:00 +0100
commitf125822ee622dd9bf3cff867a6e023702aa4448d (patch)
tree4d4087c526eb693bc621aea542e27958d205a0ed /mkspecs/common
parent413129e20780cc42f1c7076974b123c08ba19093 (diff)
WinRT: Provide qmake feature for generating a package manifest
This feature (package_manifest) generates a basic application manifest from a template provided by the mkspec or the developer. It is meant to deliver an out-of-the-box build experience without attempting to exhaustively cover all manifest options. It is meant to be a starting point which allows the developer to customize the manifest further. It also becomes the default package manifest generator for Windows Phone, replacing autogen_wmappmanifest. Common variables, such as the target executable, are populated by qmake in the newly created manifest. Default icons are also created if needed, as the build will fail without them. The input manifest can be set by assigning a file name to WINRT_MANIFEST. Additional options are documented in the .prf file. If an existing (non-generated) manifest is already in the directory, it will not be overwritten. Task-number: QTBUG-35328 Change-Id: I57576a17ff9d2b564c0828f815949cb26d276bfd Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Diffstat (limited to 'mkspecs/common')
-rw-r--r--mkspecs/common/winrt_winphone/assets/logo_large.pngbin0 -> 2638 bytes
-rw-r--r--mkspecs/common/winrt_winphone/assets/logo_medium.pngbin0 -> 1907 bytes
-rw-r--r--mkspecs/common/winrt_winphone/assets/logo_small.pngbin0 -> 737 bytes
-rw-r--r--mkspecs/common/winrt_winphone/assets/logo_splash.pngbin0 -> 5752 bytes
-rw-r--r--mkspecs/common/winrt_winphone/assets/logo_store.pngbin0 -> 1159 bytes
-rw-r--r--mkspecs/common/winrt_winphone/assets/tile_iconic_medium.pngbin0 -> 3166 bytes
-rw-r--r--mkspecs/common/winrt_winphone/assets/tile_iconic_small.pngbin0 -> 1958 bytes
-rw-r--r--mkspecs/common/winrt_winphone/manifests/8.0/AppxManifest.xml.in39
-rw-r--r--mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in39
-rw-r--r--mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in44
-rw-r--r--mkspecs/common/winrt_winphone/qmake.conf3
11 files changed, 124 insertions, 1 deletions
diff --git a/mkspecs/common/winrt_winphone/assets/logo_large.png b/mkspecs/common/winrt_winphone/assets/logo_large.png
new file mode 100644
index 0000000000..069171ca4d
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/logo_large.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/assets/logo_medium.png b/mkspecs/common/winrt_winphone/assets/logo_medium.png
new file mode 100644
index 0000000000..fa0d9fb64a
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/logo_medium.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/assets/logo_small.png b/mkspecs/common/winrt_winphone/assets/logo_small.png
new file mode 100644
index 0000000000..2acac59e73
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/logo_small.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/assets/logo_splash.png b/mkspecs/common/winrt_winphone/assets/logo_splash.png
new file mode 100644
index 0000000000..a2be79f5d7
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/logo_splash.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/assets/logo_store.png b/mkspecs/common/winrt_winphone/assets/logo_store.png
new file mode 100644
index 0000000000..417ccdcb5f
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/logo_store.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/assets/tile_iconic_medium.png b/mkspecs/common/winrt_winphone/assets/tile_iconic_medium.png
new file mode 100644
index 0000000000..e42f8255db
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/tile_iconic_medium.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/assets/tile_iconic_small.png b/mkspecs/common/winrt_winphone/assets/tile_iconic_small.png
new file mode 100644
index 0000000000..c7b7ee7893
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/assets/tile_iconic_small.png
Binary files differ
diff --git a/mkspecs/common/winrt_winphone/manifests/8.0/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.0/AppxManifest.xml.in
new file mode 100644
index 0000000000..6a0ca444c3
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/manifests/8.0/AppxManifest.xml.in
@@ -0,0 +1,39 @@
+<?xml version=\"1.0\" encoding=\"utf-8\"?>
+<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\">
+ <Identity
+ Name=\"$${WINRT_MANIFEST.identity}\"
+ ProcessorArchitecture=\"$${WINRT_MANIFEST.architecture}\"
+ Publisher=\"$${WINRT_MANIFEST.publisherid}\"
+ Version=\"$${WINRT_MANIFEST.version}\" />
+ <Properties>
+ <DisplayName>$${WINRT_MANIFEST.name}</DisplayName>
+ <PublisherDisplayName>$${WINRT_MANIFEST.publisher}</PublisherDisplayName>
+ <Logo>$${WINRT_MANIFEST.logo_store}</Logo>
+ </Properties>
+ <Prerequisites>
+ <OSMinVersion>6.2.0</OSMinVersion>
+ <OSMaxVersionTested>6.3.0</OSMaxVersionTested>
+ </Prerequisites>
+ <Resources>
+ <Resource Language=\"en\" />
+ </Resources>
+ <Applications>
+ <Application
+ Id=\"App\"
+ Executable=\"$${WINRT_MANIFEST.target}.exe\"
+ EntryPoint=\"$${WINRT_MANIFEST.target}.App\">
+ <VisualElements
+ DisplayName=\"$${WINRT_MANIFEST.name}\"
+ Logo=\"$${WINRT_MANIFEST.logo_large}\"
+ SmallLogo=\"$${WINRT_MANIFEST.logo_small}\"
+ Description=\"$${WINRT_MANIFEST.description}\"
+ BackgroundColor=\"$${WINRT_MANIFEST.background}\"
+ ForegroundText=\"$${WINRT_MANIFEST.foreground}\">
+ <SplashScreen Image=\"$${WINRT_MANIFEST.logo_splash}\" />
+ </VisualElements>
+ </Application>
+ </Applications>
+ <Capabilities>$${WINRT_MANIFEST.capabilities}</Capabilities>
+ <Dependencies>$${WINRT_MANIFEST.dependencies}</Dependencies>
+</Package>
+<!-- Generated by qmake using the $$[QMAKE_XSPEC] mkspec. Remove this line to prevent this file from getting overwritten by qmake. -->
diff --git a/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in
new file mode 100644
index 0000000000..e1d3d071e9
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/manifests/8.0/WMAppManifest.xml.in
@@ -0,0 +1,39 @@
+<?xml version=\"1.0\" encoding=\"utf-8\"?>
+<Deployment xmlns=\"http://schemas.microsoft.com/windowsphone/2012/deployment\" AppPlatformVersion=\"8.0\">
+ <DefaultLanguage xmlns=\"\" code=\"en-US\" />
+ <App xmlns=\"\"
+ ProductID=\"$${WINRT_MANIFEST.identity}\"
+ Title=\"$${WINRT_MANIFEST.name}\"
+ RuntimeType=\"Modern Native\"
+ Version=\"$${WINRT_MANIFEST.version}\"
+ Genre=\"$${WINRT_MANIFEST.genre}\"
+ Author=\"$${WINRT_MANIFEST.author}\"
+ Description=\"$${WINRT_MANIFEST.description}\"
+ Publisher=\"$${WINRT_MANIFEST.publisher}\"
+ PublisherID=\"$${WINRT_MANIFEST.publisherid}\">
+ <IconPath IsRelative=\"true\" IsResource=\"false\">$${WINRT_MANIFEST.logo_medium}</IconPath>
+ <Capabilities>$${WINRT_MANIFEST.capabilities}</Capabilities>
+ <Tasks>
+ <DefaultTask
+ Name=\"_default\"
+ ImagePath=\"$${WINRT_MANIFEST.target}.exe\"
+ ImageParams=\"$${WINRT_MANIFEST.arguments}\" />
+ </Tasks>
+ <Tokens>
+ <PrimaryToken TokenID=\"$${WINRT_MANIFEST.target}\" TaskName=\"_default\">
+ <TemplateIconic>
+ <SmallImageURI IsRelative=\"true\" IsResource=\"false\">$${WINRT_MANIFEST.tile_iconic_small}</SmallImageURI>
+ <IconImageURI IsRelative=\"true\" IsResource=\"false\">$${WINRT_MANIFEST.tile_iconic_medium}</IconImageURI>
+ <Title>$${WINRT_MANIFEST.name}</Title>
+ <BackgroundColor>$${WINRT_MANIFEST.background}</BackgroundColor>
+ </TemplateIconic>
+ </PrimaryToken>
+ </Tokens>
+ <ScreenResolutions>
+ <ScreenResolution Name=\"ID_RESOLUTION_WVGA\" />
+ <ScreenResolution Name=\"ID_RESOLUTION_WXGA\" />
+ <ScreenResolution Name=\"ID_RESOLUTION_HD720P\" />
+ </ScreenResolutions>
+ </App>
+</Deployment>
+<!-- Generated by qmake using the $$[QMAKE_XSPEC] mkspec. Remove this line to prevent this file from getting overwritten by qmake. -->
diff --git a/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in
new file mode 100644
index 0000000000..8c214871e3
--- /dev/null
+++ b/mkspecs/common/winrt_winphone/manifests/8.1/AppxManifest.xml.in
@@ -0,0 +1,44 @@
+<?xml version=\"1.0\" encoding=\"utf-8\"?>
+<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:v2=\"http://schemas.microsoft.com/appx/2013/manifest\">
+ <Identity
+ Name=\"$${WINRT_MANIFEST.identity}\"
+ ProcessorArchitecture=\"$${WINRT_MANIFEST.architecture}\"
+ Publisher=\"$${WINRT_MANIFEST.publisherid}\"
+ Version=\"$${WINRT_MANIFEST.version}\" />
+ <Properties>
+ <DisplayName>$${WINRT_MANIFEST.name}</DisplayName>
+ <PublisherDisplayName>$${WINRT_MANIFEST.publisher}</PublisherDisplayName>
+ <Logo>$${WINRT_MANIFEST.logo_store}</Logo>
+ </Properties>
+ <Prerequisites>
+ <OSMinVersion>6.3.0</OSMinVersion>
+ <OSMaxVersionTested>6.3.0</OSMaxVersionTested>
+ </Prerequisites>
+ <Resources>
+ <Resource Language=\"en\" />
+ </Resources>
+ <Applications>
+ <Application
+ Id=\"App\"
+ Executable=\"$${WINRT_MANIFEST.target}.exe\"
+ EntryPoint=\"$${WINRT_MANIFEST.target}.App\">
+ <v2:VisualElements
+ DisplayName=\"$${WINRT_MANIFEST.name}\"
+ Description=\"$${WINRT_MANIFEST.description}\"
+ BackgroundColor=\"$${WINRT_MANIFEST.background}\"
+ ForegroundText=\"$${WINRT_MANIFEST.foreground}\"
+ Square150x150Logo=\"$${WINRT_MANIFEST.logo_large}\"
+ Square30x30Logo=\"$${WINRT_MANIFEST.logo_small}\">
+ <v2:DefaultTile>
+ <v2:ShowNameOnTiles>
+ <v2:ShowOn Tile=\"square150x150Logo\" />
+ </v2:ShowNameOnTiles>
+ </v2:DefaultTile>
+ <v2:SplashScreen Image=\"$${WINRT_MANIFEST.logo_splash}\" />
+ </v2:VisualElements>
+ </Application>
+ </Applications>
+ <Capabilities>$${WINRT_MANIFEST.capabilities}</Capabilities>
+ <Dependencies>$${WINRT_MANIFEST.dependencies}</Dependencies>
+</Package>
+<!-- Generated by qmake using the $$[QMAKE_XSPEC] mkspec. Remove this line to prevent this file from getting overwritten by qmake. -->
diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf
index c990122ac6..d7296afe95 100644
--- a/mkspecs/common/winrt_winphone/qmake.conf
+++ b/mkspecs/common/winrt_winphone/qmake.conf
@@ -7,7 +7,7 @@
MAKEFILE_GENERATOR = MSBUILD
QMAKE_COMPILER = msvc
QMAKE_PLATFORM = winrt win32
-CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target no_generated_target_info autogen_wmappmanifest rtti
+CONFIG += incremental flat precompile_header autogen_precompile_source debug_and_release debug_and_release_target no_generated_target_info package_manifest rtti
DEFINES += UNICODE WIN32 QT_LARGEFILE_SUPPORT Q_BYTE_ORDER=Q_LITTLE_ENDIAN \
QT_NO_PRINTER QT_NO_PRINTDIALOG # TODO: Remove when printing is re-enabled
@@ -90,4 +90,5 @@ include(../shell-win32.conf)
VCPROJ_EXTENSION = .vcxproj
VCSOLUTION_EXTENSION = .sln
VCPROJ_KEYWORD = Qt4VSv1.0
+WINRT_ASSETS_PATH = $$PWD/assets
load(qt_config)