summaryrefslogtreecommitdiffstats
path: root/mkspecs/features/winrt
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs/features/winrt')
-rw-r--r--mkspecs/features/winrt/default_pre.prf12
-rw-r--r--mkspecs/features/winrt/package_manifest.prf17
2 files changed, 25 insertions, 4 deletions
diff --git a/mkspecs/features/winrt/default_pre.prf b/mkspecs/features/winrt/default_pre.prf
new file mode 100644
index 0000000000..44e3c94b8a
--- /dev/null
+++ b/mkspecs/features/winrt/default_pre.prf
@@ -0,0 +1,12 @@
+*msvc2015 {
+ # Note that the order is important, ucrt(d) has to be first
+ # Otherwise the linker might use malloc from a different library
+ # but free_dbg() from the runtime, causing assert when deleting
+ # items from different heaps
+ CONFIG(debug, debug|release): \
+ QMAKE_LIBS = ucrtd.lib $$QMAKE_LIBS
+ else: \
+ QMAKE_LIBS = ucrt.lib $$QMAKE_LIBS
+}
+
+load(default_pre)
diff --git a/mkspecs/features/winrt/package_manifest.prf b/mkspecs/features/winrt/package_manifest.prf
index 7e5effa438..0f6f185170 100644
--- a/mkspecs/features/winrt/package_manifest.prf
+++ b/mkspecs/features/winrt/package_manifest.prf
@@ -58,9 +58,11 @@
VCLIBS = Microsoft.VCLibs.$$replace(MSVC_VER, \\., ).00
winphone: VCLIBS = $${VCLIBS}.Phone
CONFIG(debug, debug|release): \
- WINRT_MANIFEST.dependencies += $${VCLIBS}.Debug
+ VCLIBS = $${VCLIBS}.Debug
else: \
- WINRT_MANIFEST.dependencies += $$VCLIBS
+ VCLIBS = $${VCLIBS}
+ contains(MSVC_VER, "14.0"): VCLIBS = "$${VCLIBS}\" MinVersion=\"14.0.0.0\" Publisher=\"CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
+ WINRT_MANIFEST.dependencies += $$VCLIBS
}
# Provide default values for required variables
@@ -122,12 +124,11 @@
}
# Dependencies are given as a string list. The CRT dependency is added automatically above.
+ # For MSVC2015 the dependencies are added in conjunction with TargetDeviceFamily
WINRT_MANIFEST.dependencies = $$unique(WINRT_MANIFEST.dependencies)
!isEmpty(WINRT_MANIFEST.dependencies) {
- MANIFEST_DEPENDENCIES += "<Dependencies>"
for(DEPENDENCY, WINRT_MANIFEST.dependencies): \
MANIFEST_DEPENDENCIES += " <PackageDependency Name=\"$$DEPENDENCY\" />"
- MANIFEST_DEPENDENCIES += "</Dependencies>"
WINRT_MANIFEST.dependencies = $$join(MANIFEST_DEPENDENCIES, $$INDENT, $$INDENT)
}
@@ -159,5 +160,13 @@
WINRT_MANIFEST.$${ICON_NAME} = assets/$$basename(ICON_FILE)
}
+ !contains(TEMPLATE, "vc.*") {
+ winrt_manifest_install.files = $$manifest_file.output
+ winrt_manifest_install.path = $$target.path
+ winrt_assets_install.files = $$BUILD_DIR/assets/*
+ winrt_assets_install.path = $$target.path/assets
+ INSTALLS += winrt_manifest_install winrt_assets_install
+ }
+
QMAKE_SUBSTITUTES += manifest_file
}