Add build support for Windows Phone 8.1
Tweak qmake, add mkspecs for emulator and device, adjust the manifest template for WP8.1, and add missing icons. Change-Id: I7a6405fa85297ae4cc8522015274e65fb7a315a6 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
This commit is contained in:
parent
26a2fb7448
commit
9d3b169bda
BIN
mkspecs/common/winrt_winphone/assets/logo_44x44.png
Normal file
BIN
mkspecs/common/winrt_winphone/assets/logo_44x44.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
mkspecs/common/winrt_winphone/assets/logo_480x800.png
Normal file
BIN
mkspecs/common/winrt_winphone/assets/logo_480x800.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.7 KiB |
BIN
mkspecs/common/winrt_winphone/assets/logo_71x71.png
Normal file
BIN
mkspecs/common/winrt_winphone/assets/logo_71x71.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,45 @@
|
|||||||
|
<?xml version=\"1.0\" encoding=\"utf-8\"?>
|
||||||
|
<Package xmlns=\"http://schemas.microsoft.com/appx/2010/manifest\" xmlns:m3=\"http://schemas.microsoft.com/appx/2014/manifest\" xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\">
|
||||||
|
<Identity
|
||||||
|
Name=\"$${WINRT_MANIFEST.identity}\"
|
||||||
|
ProcessorArchitecture=\"$${WINRT_MANIFEST.architecture}\"
|
||||||
|
Publisher=\"$${WINRT_MANIFEST.publisherid}\"
|
||||||
|
Version=\"$${WINRT_MANIFEST.version}\" />
|
||||||
|
<mp:PhoneIdentity
|
||||||
|
PhoneProductId=\"$${WINRT_MANIFEST.phone_product_id}\"
|
||||||
|
PhonePublisherId=\"$${WINRT_MANIFEST.phone_publisher_id}\" />
|
||||||
|
<Properties>
|
||||||
|
<DisplayName>$${WINRT_MANIFEST.name}</DisplayName>
|
||||||
|
<PublisherDisplayName>$${WINRT_MANIFEST.publisher}</PublisherDisplayName>
|
||||||
|
<Logo>$${WINRT_MANIFEST.logo_store}</Logo>
|
||||||
|
</Properties>
|
||||||
|
<Prerequisites>
|
||||||
|
<OSMinVersion>6.3.1</OSMinVersion>
|
||||||
|
<OSMaxVersionTested>6.3.1</OSMaxVersionTested>
|
||||||
|
</Prerequisites>
|
||||||
|
<Resources>
|
||||||
|
<Resource Language=\"en\" />
|
||||||
|
</Resources>
|
||||||
|
<Applications>
|
||||||
|
<Application
|
||||||
|
Id=\"App\"
|
||||||
|
Executable=\"$${WINRT_MANIFEST.target}.exe\"
|
||||||
|
EntryPoint=\"$${WINRT_MANIFEST.target}.App\">
|
||||||
|
<m3:VisualElements
|
||||||
|
DisplayName=\"$${WINRT_MANIFEST.name}\"
|
||||||
|
Description=\"$${WINRT_MANIFEST.description}\"
|
||||||
|
BackgroundColor=\"$${WINRT_MANIFEST.background}\"
|
||||||
|
ForegroundText=\"$${WINRT_MANIFEST.foreground}\"
|
||||||
|
Square150x150Logo=\"$${WINRT_MANIFEST.logo_large}\"
|
||||||
|
Square44x44Logo=\"$${WINRT_MANIFEST.logo_44x44}\">
|
||||||
|
<m3:DefaultTile Square71x71Logo=\"$${WINRT_MANIFEST.logo_71x71}\">
|
||||||
|
<m3:ShowNameOnTiles>
|
||||||
|
<m3:ShowOn Tile=\"square150x150Logo\" />
|
||||||
|
</m3:ShowNameOnTiles>
|
||||||
|
</m3:DefaultTile>
|
||||||
|
<m3:SplashScreen Image=\"$${WINRT_MANIFEST.logo_480x800}\" />
|
||||||
|
</m3:VisualElements>
|
||||||
|
</Application>
|
||||||
|
</Applications>$${WINRT_MANIFEST.capabilities}$${WINRT_MANIFEST.dependencies}
|
||||||
|
</Package>
|
||||||
|
<!-- Generated by qmake using the $$[QMAKE_XSPEC] mkspec. -->
|
@ -14,10 +14,12 @@
|
|||||||
# WINRT_MANIFEST.version: The version number of the package. Defaults to "1.0.0.0".
|
# WINRT_MANIFEST.version: The version number of the package. Defaults to "1.0.0.0".
|
||||||
# WINRT_MANIFEST.arguments: Allows arguments to be passed to the executable.
|
# WINRT_MANIFEST.arguments: Allows arguments to be passed to the executable.
|
||||||
# WINRT_MANIFEST.publisher: Display name of the publisher. Defaults to "Default publisher display name".
|
# WINRT_MANIFEST.publisher: Display name of the publisher. Defaults to "Default publisher display name".
|
||||||
# WINRT_MANIFEST.publisher_id: On Windows 8/RT, the publisher's distinguished name (default: CN=MyCN). On Windows Phone, the publisher's UUID (default: invalid UUID string).
|
# WINRT_MANIFEST.publisher_id: On Windows 8/RT/Phone 8.1, the publisher's distinguished name (default: CN=MyCN). On Windows Phone 8.0, the publisher's UUID (default: invalid UUID string).
|
||||||
|
# WINRT_MANIFEST.phone_product_id): On Windows Phone 8.1, the GUID of the product. Defaults to the value of WINRT_MANIFEST.identity.
|
||||||
|
# WINRT_MANIFEST.phone_publisher_id: On Windows Phone 8.1, the GUID of the publiser. Defaults to an invalid GUID.
|
||||||
# WINRT_MANIFEST.description: Package description. Defaults to "Default package description".
|
# WINRT_MANIFEST.description: Package description. Defaults to "Default package description".
|
||||||
# WINRT_MANIFEST.author: Package author (Windows Phone only). Defaults to "Default package author".
|
# WINRT_MANIFEST.author: Package author (Windows Phone 8.0 only). Defaults to "Default package author".
|
||||||
# WINRT_MANIFEST.genre: Package genre (Windows Phone only). Defaults to "apps.normal".
|
# WINRT_MANIFEST.genre: Package genre (Windows Phone 8.0 only). Defaults to "apps.normal".
|
||||||
# WINRT_MANIFEST.background: Tile background color. Defaults to "green".
|
# WINRT_MANIFEST.background: Tile background color. Defaults to "green".
|
||||||
# WINRT_MANIFEST.foreground: Tile foreground (text) color (Windows 8/RT only). Defaults to "light".
|
# WINRT_MANIFEST.foreground: Tile foreground (text) color (Windows 8/RT only). Defaults to "light".
|
||||||
# WINRT_MANIFEST.logo_store: Logo image file for Windows Store. Default provided by the mkspec.
|
# WINRT_MANIFEST.logo_store: Logo image file for Windows Store. Default provided by the mkspec.
|
||||||
@ -49,7 +51,7 @@
|
|||||||
BUILD_DIR = $$dirname(QMAKE_RESOLVED_TARGET)
|
BUILD_DIR = $$dirname(QMAKE_RESOLVED_TARGET)
|
||||||
}
|
}
|
||||||
|
|
||||||
winphone: \
|
winphone:equals(WINSDK_VER, 8.0): \
|
||||||
manifest_file.output = $$BUILD_DIR/WMAppManifest.xml
|
manifest_file.output = $$BUILD_DIR/WMAppManifest.xml
|
||||||
else: contains(TEMPLATE, "vc.*"): \
|
else: contains(TEMPLATE, "vc.*"): \
|
||||||
manifest_file.output = $$BUILD_DIR/Package.appxmanifest
|
manifest_file.output = $$BUILD_DIR/Package.appxmanifest
|
||||||
@ -77,16 +79,18 @@
|
|||||||
write_file($$UUID_CACHE, WINRT_UUID)|error("Unable to write the UUID cache; aborting.")
|
write_file($$UUID_CACHE, WINRT_UUID)|error("Unable to write the UUID cache; aborting.")
|
||||||
eval($$WINRT_UUID)
|
eval($$WINRT_UUID)
|
||||||
}
|
}
|
||||||
winphone: WINRT_MANIFEST.identity = {$$WINRT_MANIFEST.identity}
|
winphone:equals(WINSDK_VER, 8.0): WINRT_MANIFEST.identity = {$$WINRT_MANIFEST.identity}
|
||||||
}
|
}
|
||||||
isEmpty(WINRT_MANIFEST.name): WINRT_MANIFEST.name = $$TARGET
|
isEmpty(WINRT_MANIFEST.name): WINRT_MANIFEST.name = $$TARGET
|
||||||
isEmpty(WINRT_MANIFEST.architecture): WINRT_MANIFEST.architecture = $$VCPROJ_ARCH
|
isEmpty(WINRT_MANIFEST.architecture): WINRT_MANIFEST.architecture = $$VCPROJ_ARCH
|
||||||
isEmpty(WINRT_MANIFEST.version): WINRT_MANIFEST.version = 1.0.0.0
|
isEmpty(WINRT_MANIFEST.version): WINRT_MANIFEST.version = 1.0.0.0
|
||||||
isEmpty(WINRT_MANIFEST.publisher): WINRT_MANIFEST.publisher = Default publisher display name
|
isEmpty(WINRT_MANIFEST.publisher): WINRT_MANIFEST.publisher = Default publisher display name
|
||||||
isEmpty(WINRT_MANIFEST.publisherid) {
|
isEmpty(WINRT_MANIFEST.publisherid) {
|
||||||
winphone: WINRT_MANIFEST.publisherid = {00000000-0000-0000-0000-000000000000}
|
winphone:equals(WINSDK_VER, 8.0): WINRT_MANIFEST.publisherid = {00000000-0000-0000-0000-000000000000}
|
||||||
else: WINRT_MANIFEST.publisherid = CN=$$(USERNAME)
|
else: WINRT_MANIFEST.publisherid = CN=$$(USERNAME)
|
||||||
}
|
}
|
||||||
|
isEmpty(WINRT_MANIFEST.phone_product_id): WINRT_MANIFEST.phone_product_id = $$WINRT_MANIFEST.identity
|
||||||
|
isEmpty(WINRT_MANIFEST.phone_publisher_id): WINRT_MANIFEST.phone_publisher_id = 00000000-0000-0000-0000-000000000000
|
||||||
isEmpty(WINRT_MANIFEST.description): WINRT_MANIFEST.description = Default package description
|
isEmpty(WINRT_MANIFEST.description): WINRT_MANIFEST.description = Default package description
|
||||||
isEmpty(WINRT_MANIFEST.author): WINRT_MANIFEST.author = Default package author
|
isEmpty(WINRT_MANIFEST.author): WINRT_MANIFEST.author = Default package author
|
||||||
isEmpty(WINRT_MANIFEST.genre): WINRT_MANIFEST.genre = apps.normal
|
isEmpty(WINRT_MANIFEST.genre): WINRT_MANIFEST.genre = apps.normal
|
||||||
@ -94,7 +98,7 @@
|
|||||||
isEmpty(WINRT_MANIFEST.foreground): WINRT_MANIFEST.foreground = light
|
isEmpty(WINRT_MANIFEST.foreground): WINRT_MANIFEST.foreground = light
|
||||||
isEmpty(WINRT_MANIFEST.default_language): WINRT_MANIFEST.default_language = en
|
isEmpty(WINRT_MANIFEST.default_language): WINRT_MANIFEST.default_language = en
|
||||||
|
|
||||||
winphone: INDENT = "$$escape_expand(\\r\\n) "
|
winphone:equals(WINSDK_VER, 8.0): INDENT = "$$escape_expand(\\r\\n) "
|
||||||
else: INDENT = "$$escape_expand(\\r\\n) "
|
else: INDENT = "$$escape_expand(\\r\\n) "
|
||||||
|
|
||||||
# Languages are given as a string list
|
# Languages are given as a string list
|
||||||
@ -142,16 +146,12 @@
|
|||||||
ICONS_FOUND ~= s/.*\\\$\\\$\\{WINRT_MANIFEST\\.((logo|tile)_[^\}]+)\\}.*/\\1/g
|
ICONS_FOUND ~= s/.*\\\$\\\$\\{WINRT_MANIFEST\\.((logo|tile)_[^\}]+)\\}.*/\\1/g
|
||||||
for (ICON_NAME, ICONS_FOUND) {
|
for (ICON_NAME, ICONS_FOUND) {
|
||||||
ICON_FILE = $$eval(WINRT_MANIFEST.$$ICON_NAME)
|
ICON_FILE = $$eval(WINRT_MANIFEST.$$ICON_NAME)
|
||||||
isEmpty(ICON_FILE) {
|
isEmpty(ICON_FILE): ICON_FILE = $$WINRT_ASSETS_PATH/$${ICON_NAME}.png
|
||||||
icon_$${ICON_NAME}.input = $$WINRT_ASSETS_PATH/$${ICON_NAME}.png
|
|
||||||
icon_$${ICON_NAME}.output = $$BUILD_DIR/assets/$${ICON_NAME}.png
|
|
||||||
WINRT_MANIFEST.$${ICON_NAME} = assets/$${ICON_NAME}.png
|
|
||||||
} else {
|
|
||||||
icon_$${ICON_NAME}.input = $$ICON_FILE
|
icon_$${ICON_NAME}.input = $$ICON_FILE
|
||||||
icon_$${ICON_NAME}.output = $$BUILD_DIR/$$ICON_FILE
|
icon_$${ICON_NAME}.output = $$BUILD_DIR/assets/$$basename(ICON_FILE)
|
||||||
}
|
|
||||||
icon_$${ICON_NAME}.CONFIG = verbatim
|
icon_$${ICON_NAME}.CONFIG = verbatim
|
||||||
QMAKE_SUBSTITUTES += icon_$${ICON_NAME}
|
QMAKE_SUBSTITUTES += icon_$${ICON_NAME}
|
||||||
|
WINRT_MANIFEST.$${ICON_NAME} = assets/$$basename(ICON_FILE)
|
||||||
}
|
}
|
||||||
|
|
||||||
QMAKE_SUBSTITUTES += manifest_file
|
QMAKE_SUBSTITUTES += manifest_file
|
||||||
|
23
mkspecs/winphone-arm-msvc2013/qmake.conf
Normal file
23
mkspecs/winphone-arm-msvc2013/qmake.conf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#
|
||||||
|
# qmake configuration for winphone-arm-msvc2013
|
||||||
|
#
|
||||||
|
# Written for Microsoft Visual C++ 2013
|
||||||
|
#
|
||||||
|
|
||||||
|
include(../common/winrt_winphone/qmake.conf)
|
||||||
|
QMAKE_COMPILER_DEFINES += _MSC_VER=1800
|
||||||
|
QMAKE_PLATFORM = winphone $$QMAKE_PLATFORM
|
||||||
|
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP ARM __ARM__ __ARM__
|
||||||
|
|
||||||
|
QMAKE_CFLAGS += -FS
|
||||||
|
QMAKE_CXXFLAGS += -FS
|
||||||
|
QMAKE_LFLAGS += /MACHINE:ARM /NODEFAULTLIB:kernel32.lib
|
||||||
|
|
||||||
|
QMAKE_LIBS += WindowsPhoneCore.lib PhoneAppModelHost.lib
|
||||||
|
|
||||||
|
VCPROJ_ARCH = ARM
|
||||||
|
MSVC_VER = 12.0
|
||||||
|
WINSDK_VER = 8.1
|
||||||
|
WINTARGET_VER = WP81
|
||||||
|
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in
|
||||||
|
WINRT_MANIFEST.architecture = arm
|
42
mkspecs/winphone-arm-msvc2013/qplatformdefs.h
Normal file
42
mkspecs/winphone-arm-msvc2013/qplatformdefs.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of the qmake spec of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 2.1 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Digia gives you certain additional
|
||||||
|
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU
|
||||||
|
** General Public License version 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU General Public License version 3.0 requirements will be
|
||||||
|
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include "../common/winrt_winphone/qplatformdefs.h"
|
23
mkspecs/winphone-x86-msvc2013/qmake.conf
Normal file
23
mkspecs/winphone-x86-msvc2013/qmake.conf
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
#
|
||||||
|
# qmake configuration for winphone-x86-msvc2013
|
||||||
|
#
|
||||||
|
# Written for Microsoft Visual C++ 2013
|
||||||
|
#
|
||||||
|
|
||||||
|
include(../common/winrt_winphone/qmake.conf)
|
||||||
|
QMAKE_COMPILER_DEFINES += _MSC_VER=1800
|
||||||
|
QMAKE_PLATFORM = winphone $$QMAKE_PLATFORM
|
||||||
|
DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_PHONE_APP X86 __X86__ __x86__
|
||||||
|
|
||||||
|
QMAKE_CFLAGS += -FS
|
||||||
|
QMAKE_CXXFLAGS += -FS
|
||||||
|
QMAKE_LFLAGS += /MACHINE:X86 /NODEFAULTLIB:kernel32.lib
|
||||||
|
|
||||||
|
QMAKE_LIBS += WindowsPhoneCore.lib PhoneAppModelHost.lib
|
||||||
|
|
||||||
|
VCPROJ_ARCH = Win32
|
||||||
|
MSVC_VER = 12.0
|
||||||
|
WINSDK_VER = 8.1
|
||||||
|
WINTARGET_VER = WP81
|
||||||
|
WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/8.1_wp/AppxManifest.xml.in
|
||||||
|
WINRT_MANIFEST.architecture = x86
|
42
mkspecs/winphone-x86-msvc2013/qplatformdefs.h
Normal file
42
mkspecs/winphone-x86-msvc2013/qplatformdefs.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
|
** Contact: http://www.qt-project.org/legal
|
||||||
|
**
|
||||||
|
** This file is part of the qmake spec of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** $QT_BEGIN_LICENSE:LGPL$
|
||||||
|
** Commercial License Usage
|
||||||
|
** Licensees holding valid commercial Qt licenses may use this file in
|
||||||
|
** accordance with the commercial license agreement provided with the
|
||||||
|
** Software or, alternatively, in accordance with the terms contained in
|
||||||
|
** a written agreement between you and Digia. For licensing terms and
|
||||||
|
** conditions see http://qt.digia.com/licensing. For further information
|
||||||
|
** use the contact form at http://qt.digia.com/contact-us.
|
||||||
|
**
|
||||||
|
** GNU Lesser General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU Lesser
|
||||||
|
** General Public License version 2.1 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.LGPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU Lesser General Public License version 2.1 requirements
|
||||||
|
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Digia gives you certain additional
|
||||||
|
** rights. These rights are described in the Digia Qt LGPL Exception
|
||||||
|
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
** GNU General Public License Usage
|
||||||
|
** Alternatively, this file may be used under the terms of the GNU
|
||||||
|
** General Public License version 3.0 as published by the Free Software
|
||||||
|
** Foundation and appearing in the file LICENSE.GPL included in the
|
||||||
|
** packaging of this file. Please review the following information to
|
||||||
|
** ensure the GNU General Public License version 3.0 requirements will be
|
||||||
|
** met: http://www.gnu.org/copyleft/gpl.html.
|
||||||
|
**
|
||||||
|
**
|
||||||
|
** $QT_END_LICENSE$
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include "../common/winrt_winphone/qplatformdefs.h"
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the qmake application of the Qt Toolkit.
|
** This file is part of the qmake application of the Qt Toolkit.
|
||||||
@ -615,7 +615,8 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
<< attrTag("Label", "ProjectConfigurations");
|
<< attrTag("Label", "ProjectConfigurations");
|
||||||
|
|
||||||
bool isWinRT = false;
|
bool isWinRT = false;
|
||||||
bool isPhone = false;
|
bool isWinPhone = false;
|
||||||
|
bool isWinPhone80 = false; // ### Windows Phone 8.0, remove in Qt 5.4
|
||||||
for (int i = 0; i < tool.SingleProjects.count(); ++i) {
|
for (int i = 0; i < tool.SingleProjects.count(); ++i) {
|
||||||
xml << tag("ProjectConfiguration")
|
xml << tag("ProjectConfiguration")
|
||||||
<< attrTag("Include" , tool.SingleProjects.at(i).Configuration.Name)
|
<< attrTag("Include" , tool.SingleProjects.at(i).Configuration.Name)
|
||||||
@ -623,7 +624,8 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
<< tagValue("Platform", tool.SingleProjects.at(i).PlatformName)
|
<< tagValue("Platform", tool.SingleProjects.at(i).PlatformName)
|
||||||
<< closetag();
|
<< closetag();
|
||||||
isWinRT = isWinRT || tool.SingleProjects.at(i).Configuration.WinRT;
|
isWinRT = isWinRT || tool.SingleProjects.at(i).Configuration.WinRT;
|
||||||
isPhone = isPhone || tool.SingleProjects.at(i).Configuration.WinPhone;
|
isWinPhone = isWinPhone = tool.SingleProjects.at(i).Configuration.WinPhone;
|
||||||
|
isWinPhone80 = isWinPhone80 || tool.SingleProjects.at(i).Configuration.WinPhone80;
|
||||||
}
|
}
|
||||||
|
|
||||||
xml << closetag()
|
xml << closetag()
|
||||||
@ -635,7 +637,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
|
|
||||||
if (isWinRT) {
|
if (isWinRT) {
|
||||||
xml << tagValue("MinimumVisualStudioVersion", tool.Version);
|
xml << tagValue("MinimumVisualStudioVersion", tool.Version);
|
||||||
if (isPhone) {
|
if (isWinPhone80) {
|
||||||
xml << tagValue("WinMDAssembly", "true");
|
xml << tagValue("WinMDAssembly", "true");
|
||||||
if (tool.SingleProjects.at(0).Configuration.ConfigurationType == typeApplication) {
|
if (tool.SingleProjects.at(0).Configuration.ConfigurationType == typeApplication) {
|
||||||
xml << tagValue("XapOutputs", "true");
|
xml << tagValue("XapOutputs", "true");
|
||||||
@ -643,7 +645,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xml << tagValue("AppContainerApplication", "true")
|
xml << tagValue("AppContainerApplication", "true")
|
||||||
<< tagValue("ApplicationType", "Windows Store")
|
<< tagValue("ApplicationType", isWinPhone ? "Windows Phone" : "Windows Store")
|
||||||
<< tagValue("ApplicationTypeRevision", tool.SdkVersion);
|
<< tagValue("ApplicationTypeRevision", tool.SdkVersion);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -823,7 +825,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
}
|
}
|
||||||
outputFilter(tool, xml, xmlFilter, "Root Files");
|
outputFilter(tool, xml, xmlFilter, "Root Files");
|
||||||
|
|
||||||
if (tool.SingleProjects.at(0).Configuration.WinPhone) {
|
if (isWinPhone80) {
|
||||||
xml << tag("ItemGroup")
|
xml << tag("ItemGroup")
|
||||||
<< tag("Reference")
|
<< tag("Reference")
|
||||||
<< attrTag("Include", "platform")
|
<< attrTag("Include", "platform")
|
||||||
@ -835,7 +837,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
|
|
||||||
// App manifest
|
// App manifest
|
||||||
if (isWinRT) {
|
if (isWinRT) {
|
||||||
QString manifest = isPhone ? QStringLiteral("WMAppManifest.xml") : QStringLiteral("Package.appxmanifest");
|
QString manifest = isWinPhone80 ? QStringLiteral("WMAppManifest.xml") : QStringLiteral("Package.appxmanifest");
|
||||||
|
|
||||||
// Find all icons referenced in the manifest
|
// Find all icons referenced in the manifest
|
||||||
QSet<QString> icons;
|
QSet<QString> icons;
|
||||||
@ -856,7 +858,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
|
|
||||||
// Write out manifest + icons as content items
|
// Write out manifest + icons as content items
|
||||||
xml << tag(_ItemGroup)
|
xml << tag(_ItemGroup)
|
||||||
<< tag(isPhone ? "Xml" : "AppxManifest")
|
<< tag(isWinPhone80 ? "Xml" : "AppxManifest")
|
||||||
<< attrTag("Include", manifest)
|
<< attrTag("Include", manifest)
|
||||||
<< closetag();
|
<< closetag();
|
||||||
foreach (const QString &icon, icons) {
|
foreach (const QString &icon, icons) {
|
||||||
@ -869,7 +871,7 @@ void VCXProjectWriter::write(XmlOutput &xml, VCProject &tool)
|
|||||||
|
|
||||||
xml << import("Project", "$(VCTargetsPath)\\Microsoft.Cpp.targets");
|
xml << import("Project", "$(VCTargetsPath)\\Microsoft.Cpp.targets");
|
||||||
|
|
||||||
if (isPhone)
|
if (isWinPhone80)
|
||||||
xml << import("Project", "$(MSBuildExtensionsPath)\\Microsoft\\WindowsPhone\\v8.0\\Microsoft.Cpp.WindowsPhone.8.0.targets");
|
xml << import("Project", "$(MSBuildExtensionsPath)\\Microsoft\\WindowsPhone\\v8.0\\Microsoft.Cpp.WindowsPhone.8.0.targets");
|
||||||
|
|
||||||
xml << tag("ImportGroup")
|
xml << tag("ImportGroup")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the qmake application of the Qt Toolkit.
|
** This file is part of the qmake application of the Qt Toolkit.
|
||||||
@ -166,10 +166,17 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
regKey = regKeyPrefix
|
QString windowsPath;
|
||||||
+ (isPhone ? QStringLiteral("Microsoft\\Microsoft SDKs\\WindowsPhone\\v")
|
if (isPhone) {
|
||||||
: QStringLiteral("Microsoft\\Microsoft SDKs\\Windows\\v"))
|
if (targetVer == "WP80") // ### Windows Phone 8.0, remove in Qt 5.4
|
||||||
+ winsdkVer + QStringLiteral("\\InstallationFolder");
|
windowsPath = "Microsoft\\Microsoft SDKs\\WindowsPhone\\v";
|
||||||
|
else
|
||||||
|
windowsPath = "Microsoft\\Microsoft SDKs\\WindowsPhoneApp\\v";
|
||||||
|
} else {
|
||||||
|
windowsPath = "Microsoft\\Microsoft SDKs\\Windows\\v";
|
||||||
|
}
|
||||||
|
|
||||||
|
regKey = regKeyPrefix + windowsPath + winsdkVer + QStringLiteral("\\InstallationFolder");
|
||||||
const QString kitDir = qt_readRegistryKey(HKEY_LOCAL_MACHINE, regKey);
|
const QString kitDir = qt_readRegistryKey(HKEY_LOCAL_MACHINE, regKey);
|
||||||
if (kitDir.isEmpty()) {
|
if (kitDir.isEmpty()) {
|
||||||
fprintf(stderr, "Failed to find the Windows Kit installation directory.\n");
|
fprintf(stderr, "Failed to find the Windows Kit installation directory.\n");
|
||||||
@ -184,7 +191,9 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t)
|
|||||||
QStringList libDirs;
|
QStringList libDirs;
|
||||||
QStringList binDirs;
|
QStringList binDirs;
|
||||||
if (isPhone) {
|
if (isPhone) {
|
||||||
QString sdkDir = vcInstallDir + QStringLiteral("/WPSDK/") + targetVer;
|
QString sdkDir = vcInstallDir;
|
||||||
|
if (targetVer == "WP80")
|
||||||
|
sdkDir += QStringLiteral("/WPSDK/") + targetVer;
|
||||||
if (!QDir(sdkDir).exists()) {
|
if (!QDir(sdkDir).exists()) {
|
||||||
fprintf(stderr, "Failed to find the Windows Phone SDK in %s.\n"
|
fprintf(stderr, "Failed to find the Windows Phone SDK in %s.\n"
|
||||||
"Check that it is properly installed.\n",
|
"Check that it is properly installed.\n",
|
||||||
@ -192,7 +201,8 @@ NmakeMakefileGenerator::writeMakefile(QTextStream &t)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
incDirs << sdkDir + QStringLiteral("/include");
|
incDirs << sdkDir + QStringLiteral("/include");
|
||||||
libDirs << sdkDir + QStringLiteral("/lib/") + compilerArch;
|
libDirs << sdkDir + QStringLiteral("/lib/store/") + compilerArch
|
||||||
|
<< sdkDir + QStringLiteral("/lib/") + compilerArch;
|
||||||
binDirs << sdkDir + QStringLiteral("/bin/") + compiler;
|
binDirs << sdkDir + QStringLiteral("/bin/") + compiler;
|
||||||
libDirs << kitDir + QStringLiteral("/lib/") + arch;
|
libDirs << kitDir + QStringLiteral("/lib/") + arch;
|
||||||
incDirs << kitDir + QStringLiteral("/include")
|
incDirs << kitDir + QStringLiteral("/include")
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the qmake application of the Qt Toolkit.
|
** This file is part of the qmake application of the Qt Toolkit.
|
||||||
@ -2129,6 +2129,7 @@ VCPreLinkEventTool::VCPreLinkEventTool()
|
|||||||
VCConfiguration::VCConfiguration()
|
VCConfiguration::VCConfiguration()
|
||||||
: WinRT(false),
|
: WinRT(false),
|
||||||
WinPhone(false),
|
WinPhone(false),
|
||||||
|
WinPhone80(false),
|
||||||
ATLMinimizesCRunTimeLibraryUsage(unset),
|
ATLMinimizesCRunTimeLibraryUsage(unset),
|
||||||
BuildBrowserInformation(unset),
|
BuildBrowserInformation(unset),
|
||||||
CharacterSet(charSetNotSet),
|
CharacterSet(charSetNotSet),
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the qmake application of the Qt Toolkit.
|
** This file is part of the qmake application of the Qt Toolkit.
|
||||||
@ -886,7 +886,7 @@ public:
|
|||||||
~VCConfiguration(){}
|
~VCConfiguration(){}
|
||||||
|
|
||||||
DotNET CompilerVersion;
|
DotNET CompilerVersion;
|
||||||
bool WinRT, WinPhone;
|
bool WinRT, WinPhone, WinPhone80;
|
||||||
|
|
||||||
// Variables
|
// Variables
|
||||||
triState ATLMinimizesCRunTimeLibraryUsage;
|
triState ATLMinimizesCRunTimeLibraryUsage;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
**
|
**
|
||||||
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
|
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
|
||||||
** Contact: http://www.qt-project.org/legal
|
** Contact: http://www.qt-project.org/legal
|
||||||
**
|
**
|
||||||
** This file is part of the qmake application of the Qt Toolkit.
|
** This file is part of the qmake application of the Qt Toolkit.
|
||||||
@ -902,7 +902,7 @@ void VcprojGenerator::initProject()
|
|||||||
initResourceFiles();
|
initResourceFiles();
|
||||||
initExtraCompilerOutputs();
|
initExtraCompilerOutputs();
|
||||||
if (vcProject.Configuration.WinRT) {
|
if (vcProject.Configuration.WinRT) {
|
||||||
if (vcProject.Configuration.WinPhone
|
if (vcProject.Configuration.WinPhone80
|
||||||
&& vcProject.Configuration.ConfigurationType == typeApplication)
|
&& vcProject.Configuration.ConfigurationType == typeApplication)
|
||||||
initWMAppManifest();
|
initWMAppManifest();
|
||||||
}
|
}
|
||||||
@ -1012,6 +1012,7 @@ void VcprojGenerator::initConfiguration()
|
|||||||
conf.WinRT = project->isActiveConfig("winrt");
|
conf.WinRT = project->isActiveConfig("winrt");
|
||||||
if (conf.WinRT) {
|
if (conf.WinRT) {
|
||||||
conf.WinPhone = project->isActiveConfig("winphone");
|
conf.WinPhone = project->isActiveConfig("winphone");
|
||||||
|
conf.WinPhone80 = project->first("WINTARGET_VER") == "WP80";
|
||||||
// Saner defaults
|
// Saner defaults
|
||||||
conf.compiler.UsePrecompiledHeader = pchNone;
|
conf.compiler.UsePrecompiledHeader = pchNone;
|
||||||
conf.compiler.CompileAsWinRT = _False;
|
conf.compiler.CompileAsWinRT = _False;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user