diff options
Diffstat (limited to 'mkspecs')
28 files changed, 358 insertions, 35 deletions
diff --git a/mkspecs/common/gcc-base-unix.conf b/mkspecs/common/gcc-base-unix.conf index 29e0521927..f82c8a8430 100644 --- a/mkspecs/common/gcc-base-unix.conf +++ b/mkspecs/common/gcc-base-unix.conf @@ -16,6 +16,7 @@ QMAKE_LFLAGS_SONAME += -Wl,-soname, QMAKE_LFLAGS_THREAD += QMAKE_LFLAGS_RPATH = -Wl,-rpath, QMAKE_LFLAGS_RPATHLINK = -Wl,-rpath-link, +QMAKE_LFLAGS_NEW_DTAGS = -Wl,--enable-new-dtags QMAKE_LFLAGS_USE_GOLD = -fuse-ld=gold # -Bsymbolic-functions (ld) support diff --git a/mkspecs/common/gcc-base.conf b/mkspecs/common/gcc-base.conf index dc0aa4b4a9..27e812b3a1 100644 --- a/mkspecs/common/gcc-base.conf +++ b/mkspecs/common/gcc-base.conf @@ -43,7 +43,7 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g QMAKE_CFLAGS_DEBUG += -g QMAKE_CFLAGS_SHLIB += -fPIC QMAKE_CFLAGS_STATIC_LIB += -fPIC -QMAKE_CFLAGS_APP += -fPIE +QMAKE_CFLAGS_APP += -fPIC QMAKE_CFLAGS_ISYSTEM = -isystem QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden diff --git a/mkspecs/common/qcc-base.conf b/mkspecs/common/qcc-base.conf index 09fdabce43..4ef03d8587 100644 --- a/mkspecs/common/qcc-base.conf +++ b/mkspecs/common/qcc-base.conf @@ -23,7 +23,7 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -g QMAKE_CFLAGS_DEBUG += -g QMAKE_CFLAGS_SHLIB += -fPIC -shared QMAKE_CFLAGS_STATIC_LIB += -fPIC -QMAKE_CFLAGS_APP += -fPIE +QMAKE_CFLAGS_APP += -fPIC QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden QMAKE_CFLAGS_SSE2 += -msse2 diff --git a/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in b/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in new file mode 100644 index 0000000000..c6419660c1 --- /dev/null +++ b/mkspecs/common/winrt_winphone/manifests/10.0/AppxManifest.xml.in @@ -0,0 +1,49 @@ +<?xml version=\"1.0\" encoding=\"utf-8\"?> + +<Package + xmlns=\"http://schemas.microsoft.com/appx/manifest/foundation/windows10\" + xmlns:mp=\"http://schemas.microsoft.com/appx/2014/phone/manifest\" + xmlns:uap=\"http://schemas.microsoft.com/appx/manifest/uap/windows10\" + IgnorableNamespaces=\"uap mp\"> + + <Identity + Name=\"$${WINRT_MANIFEST.identity}\" + Publisher=\"$${WINRT_MANIFEST.publisherid}\" + Version=\"$${WINRT_MANIFEST.version}\" /> + + <mp:PhoneIdentity PhoneProductId=\"$${WINRT_MANIFEST.identity}\" PhonePublisherId=\"$${WINRT_MANIFEST.phone_publisher_id}\"/> + + <Properties> + <DisplayName>$${WINRT_MANIFEST.name}</DisplayName> + <PublisherDisplayName>$${WINRT_MANIFEST.publisher}</PublisherDisplayName> + <Logo>$${WINRT_MANIFEST.logo_store}</Logo> + </Properties> + + <Dependencies> + <TargetDeviceFamily Name=\"Windows.Universal\" MinVersion=\"10.0.10069.0\" MaxVersionTested=\"10.0.10069.0\" /> + </Dependencies> + + <Resources> + <Resource Language=\"en\"/> + </Resources> + + <Applications> + <Application Id=\"App\" + Executable=\"$${WINRT_MANIFEST.target}.exe\" + EntryPoint=\"$${WINRT_MANIFEST.target}.App\"> + <uap:VisualElements + DisplayName=\"$${WINRT_MANIFEST.name}\" + Description=\"$${WINRT_MANIFEST.description}\" + BackgroundColor=\"$${WINRT_MANIFEST.background}\" + Square150x150Logo=\"$${WINRT_MANIFEST.logo_150x150}\" + Square44x44Logo=\"$${WINRT_MANIFEST.logo_44x44}\"> + + <uap:SplashScreen Image=\"$${WINRT_MANIFEST.logo_620x300}\" /> + </uap:VisualElements> + </Application> + </Applications> + + <Capabilities> + <Capability Name=\"internetClient\" /> + </Capabilities> +</Package> diff --git a/mkspecs/common/winrt_winphone/qmake.conf b/mkspecs/common/winrt_winphone/qmake.conf index d71915408d..97ef661230 100644 --- a/mkspecs/common/winrt_winphone/qmake.conf +++ b/mkspecs/common/winrt_winphone/qmake.conf @@ -50,7 +50,7 @@ QMAKE_CXXFLAGS_STL_OFF = QMAKE_CXXFLAGS_RTTI_ON = -GR QMAKE_CXXFLAGS_RTTI_OFF = QMAKE_CXXFLAGS_EXCEPTIONS_ON = -EHsc -QMAKE_CXXFLAGS_EXCEPTIONS_OFF = +QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0 QMAKE_INCDIR = diff --git a/mkspecs/devices/linux-beagleboard-g++/qmake.conf b/mkspecs/devices/linux-beagleboard-g++/qmake.conf index 3b9ca66306..1d32d374c6 100644 --- a/mkspecs/devices/linux-beagleboard-g++/qmake.conf +++ b/mkspecs/devices/linux-beagleboard-g++/qmake.conf @@ -36,8 +36,8 @@ QMAKE_CXXFLAGS_RELEASE += -O3 QMAKE_LIBS += -lrt -lpthread -ldl # Extra stuff (OpenGL, DirectFB, ...) -QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/usr/include -QMAKE_LIBDIR_EGL = $$[QT_SYSROOT]/usr/lib +QMAKE_INCDIR_EGL = +QMAKE_LIBDIR_EGL = QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL} QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL} QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL} diff --git a/mkspecs/devices/linux-imx53qsb-g++/qmake.conf b/mkspecs/devices/linux-imx53qsb-g++/qmake.conf index 937bbf2416..39462d83d9 100644 --- a/mkspecs/devices/linux-imx53qsb-g++/qmake.conf +++ b/mkspecs/devices/linux-imx53qsb-g++/qmake.conf @@ -16,15 +16,10 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += $$[QT_SYSROOT]/usr/include -QMAKE_LIBDIR += $$[QT_SYSROOT]/usr/lib - QMAKE_LIBS_EGL += -lEGL QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib - IMX5_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wno-psabi QMAKE_CFLAGS += $$IMX5_CFLAGS QMAKE_CXXFLAGS += $$IMX5_CFLAGS diff --git a/mkspecs/devices/linux-imx6-g++/qmake.conf b/mkspecs/devices/linux-imx6-g++/qmake.conf index 1646c5fe77..71e37845c3 100644 --- a/mkspecs/devices/linux-imx6-g++/qmake.conf +++ b/mkspecs/devices/linux-imx6-g++/qmake.conf @@ -4,15 +4,10 @@ include(../common/linux_device_pre.conf) -QMAKE_INCDIR += $$[QT_SYSROOT]/usr/include -QMAKE_LIBDIR += $$[QT_SYSROOT]/usr/lib - QMAKE_LIBS_EGL += -lEGL QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL -QMAKE_LFLAGS += -Wl,-rpath-link,$$[QT_SYSROOT]/usr/lib - IMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 QMAKE_CFLAGS += $$IMX6_CFLAGS QMAKE_CXXFLAGS += $$IMX6_CFLAGS diff --git a/mkspecs/features/default_post.prf b/mkspecs/features/default_post.prf index e967399258..8e68b95dd5 100644 --- a/mkspecs/features/default_post.prf +++ b/mkspecs/features/default_post.prf @@ -63,6 +63,7 @@ debug { } use_gold_linker: QMAKE_LFLAGS += $$QMAKE_LFLAGS_USE_GOLD +enable_new_dtags: QMAKE_LFLAGS += $$QMAKE_LFLAGS_NEW_DTAGS dll:win32: QMAKE_LFLAGS += $$QMAKE_LFLAGS_DLL static:mac: QMAKE_LFLAGS += $$QMAKE_LFLAGS_STATIC_LIB diff --git a/mkspecs/features/default_pre.prf b/mkspecs/features/default_pre.prf index b06b9d6cfc..eb3281ea1d 100644 --- a/mkspecs/features/default_pre.prf +++ b/mkspecs/features/default_pre.prf @@ -7,3 +7,18 @@ CONFIG = \ lex yacc debug exceptions depend_includepath \ testcase_targets import_plugins import_qpa_plugin \ $$CONFIG + +!build_pass:defined(QT_EDITION, var):!equals(QT_EDITION, "OpenSource"):!equals(QT_EDITION, "Preview") { + # + # call license checker (but cache result for one day) + # + today = $$section(_DATE_, " ", 0, 2) + !isEqual(QMAKE_LICHECK_TIMESTAMP, $$today) { + !system("$$system_quote($$system_path($$[QT_HOST_BINS/src]/$$QT_LICHECK)) check" \ + "$$QT_RELEASE_DATE $$[QMAKE_SPEC] $$[QMAKE_XSPEC]"): \ + error("License check failed! Giving up ...") + + cache(QMAKE_LICHECK_TIMESTAMP, set stash, today) + } + unset(today) +} diff --git a/mkspecs/features/plugin_bundle.prf b/mkspecs/features/plugin_bundle.prf new file mode 100644 index 0000000000..f3e7294c90 --- /dev/null +++ b/mkspecs/features/plugin_bundle.prf @@ -0,0 +1,2 @@ +# Override mkspec default which creates a shared library +mac: QMAKE_LFLAGS_PLUGIN = -bundle diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf index 264641b5b3..8e7b8bca0a 100644 --- a/mkspecs/features/qt.prf +++ b/mkspecs/features/qt.prf @@ -257,10 +257,10 @@ for(QT_CURRENT_VERIFY, $$list($$QT_PLUGIN_VERIFY)) { debug: QT_ITEM = $${QTPLUG}d4.dll else: QT_ITEM = $${QTPLUG}4.dll - eval(qt_additional_plugin_$${QTPLUG}.files = $$[QT_INSTALL_PLUGINS/get]/$${QT_PLUGINPATH}/$${QT_ITEM}) - eval(qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH}) + qt_additional_plugin_$${QTPLUG}.files = $$[QT_INSTALL_PLUGINS/get]/$${QT_PLUGINPATH}/$${QT_ITEM} + qt_additional_plugin_$${QTPLUG}.path = $${QT_PLUGINPATH} - DEPLOYMENT *= qt_additional_plugin_$${QTPLUG} + INSTALLS *= qt_additional_plugin_$${QTPLUG} } } } diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 42046c238a..7197f84c9a 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -52,12 +52,6 @@ QMAKE_DIR_REPLACE_SANE = PRECOMPILED_DIR OBJECTS_DIR MOC_DIR RCC_DIR UI_DIR unset(modpath) } -mac { - !isEmpty(QMAKE_RPATHDIR){ - CONFIG += absolute_library_soname - } -} - cross_compile: \ CONFIG += force_bootstrap diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf index 6a66b76305..5861941848 100644 --- a/mkspecs/features/qt_common.prf +++ b/mkspecs/features/qt_common.prf @@ -79,6 +79,9 @@ warnings_are_errors:warning_clean { # Work-around for bug https://code.google.com/p/android/issues/detail?id=58135 android: QMAKE_CXXFLAGS_WARN_ON += -Wno-error=literal-suffix } + } else:msvc { + # enable for MSVC 2012, MSVC 2013 + equals(MSVC_VER, "11.0")|equals(MSVC_VER, "12.0"): QMAKE_CXXFLAGS_WARN_ON += -WX } unset(ver) } diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index 78be2e8473..a1c499610b 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -185,7 +185,7 @@ defineTest(qtAddRpathLink) { # paths OTOH need to be put there. pubqt = $$replace(1, -private$, _private) pubdep = $$resolve_depends(pubqt, "QT.") - privdep = $$resolve_depends(pubqt, "QT.", ".depends" ".private_depends" ".run_depends") + privdep = $$resolve_depends(pubqt, "QT.", ".depends" ".run_depends") privdep -= $$pubdep rpaths = for(dep, privdep): \ @@ -259,7 +259,7 @@ defineTest(qtAddToolEnv) { # target variable, dependency var name, [non-empty: prepare for system(), not make] defineTest(qtAddTargetEnv) { deps = $$replace($$2, -private$, _private) - deps = $$resolve_depends(deps, "QT.", ".depends" ".private_depends" ".run_depends") + deps = $$resolve_depends(deps, "QT.", ".depends" ".run_depends") !isEmpty(deps) { ptypes = for(dep, deps) { diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf index 66a7598597..5412f3778a 100644 --- a/mkspecs/features/qt_module.prf +++ b/mkspecs/features/qt_module.prf @@ -60,7 +60,7 @@ MODULE_DEFINES = $$MODULE_DEFINE $$MODULE_DEFINES load(qt_build_paths) -qt_no_install_library { +header_module { TEMPLATE = aux CONFIG += force_qt # Needed for the headers_clean tests. } else { @@ -104,7 +104,7 @@ mac:CONFIG(shared, static|shared):contains(QT_CONFIG, qt_framework) { QMAKE_TARGET_BUNDLE_PREFIX = org.qt-project #QMAKE_FRAMEWORK_VERSION = 4.0 CONFIG += sliced_bundle qt_framework - qt_no_install_library { + header_module { CONFIG += bundle QMAKE_BUNDLE_EXTENSION = .framework QMAKE_INFO_PLIST = $$QMAKESPEC/Info.plist.lib @@ -132,6 +132,9 @@ mac { QMAKE_CFLAGS += -fconstant-cfstrings QMAKE_CXXFLAGS += -fconstant-cfstrings } + + contains(QT_CONFIG, rpath): \ + QMAKE_SONAME_PREFIX = @rpath } DEFINES += QT_BUILDING_QT diff --git a/mkspecs/features/qt_module_pris.prf b/mkspecs/features/qt_module_pris.prf index 4ce03f4327..1d727847e2 100644 --- a/mkspecs/features/qt_module_pris.prf +++ b/mkspecs/features/qt_module_pris.prf @@ -91,15 +91,22 @@ MODULE_FWD_PRI = $$mod_work_pfx/qt_lib_$${MODULE_ID}.pri MODULE_PRIVATE_INCLUDES = \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION \ \$\$QT_MODULE_INCLUDE_BASE/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME } - split_incpath: \ + split_incpath { MODULE_SHADOW_INCLUDES = $$replace(MODULE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, \ $$MODULE_BASE_OUTDIR/include) + generated_privates: \ + MODULE_SHADOW_PRIVATE_INCLUDES = $$replace(MODULE_PRIVATE_INCLUDES, ^\\\$\\\$QT_MODULE_INCLUDE_BASE, \ + $$MODULE_BASE_OUTDIR/include) + } MODULE_INCLUDES += $$MODULE_AUX_INCLUDES MODULE_PRIVATE_INCLUDES += $$MODULE_PRIVATE_AUX_INCLUDES internal_module: \ MODULE_INCLUDES += $$MODULE_PRIVATE_INCLUDES - split_incpath: \ + split_incpath { MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE_ID}.includes += $$val_escape(MODULE_SHADOW_INCLUDES)" + generated_privates: \ + MODULE_FWD_PRI_CONT_SUFFIX += "QT.$${MODULE}_private.includes += $$val_escape(MODULE_SHADOW_PRIVATE_INCLUDES)" + } MODULE_PRI_CONT = \ "QT.$${MODULE_ID}.VERSION = $${VERSION}" \ "QT.$${MODULE_ID}.MAJOR_VERSION = $$section(VERSION, ., 0, 0)" \ diff --git a/mkspecs/features/resources.prf b/mkspecs/features/resources.prf index 8564731a22..7a38ff8f38 100644 --- a/mkspecs/features/resources.prf +++ b/mkspecs/features/resources.prf @@ -6,6 +6,66 @@ isEmpty(QMAKE_MOD_RCC):QMAKE_MOD_RCC = qrc !contains(QMAKE_RESOURCE_FLAGS, -root):!isEmpty(QMAKE_RESOURCE_ROOT):QMAKE_RESOURCE_FLAGS += -root $$QMAKE_RESOURCE_ROOT !contains(QMAKE_RESOURCE_FLAGS, -name): QMAKE_RESOURCE_FLAGS += -name ${QMAKE_FILE_BASE} +# http://www.w3.org/TR/xml/#syntax +defineReplace(xml_escape) { + 1 ~= s,&,&, + 1 ~= s,\',', + 1 ~= s,\",", + 1 ~= s,<,<, + 1 ~= s,>,>, + return($$1) +} + +RESOURCES += qmake_immediate +for(resource, RESOURCES) { + # Regular case of user qrc file + contains(resource, ".*\.qrc$"): \ + next() + + # Fallback for stand-alone files/directories + !defined($${resource}.files, var) { + !equals(resource, qmake_immediate) { + !exists($$absolute_path($$resource, $$_PRO_FILE_PWD_)): \ + warning("Failure to find: $$resource") + qmake_immediate.files += $$resource + } + RESOURCES -= $$resource + next() + } + + resource_file = $$RCC_DIR/qmake_$${resource}.qrc + + !debug_and_release|build_pass { + # Collection of files, generate qrc file + prefix = $$eval($${resource}.prefix) + isEmpty(prefix): \ + prefix = "/" + + resource_file_content = \ + "<!DOCTYPE RCC><RCC version=\"1.0\">" \ + "<qresource prefix=\"$$xml_escape($$prefix)\">" + + abs_base = $$absolute_path($$eval($${resource}.base), $$_PRO_FILE_PWD_) + + for(file, $${resource}.files) { + abs_path = $$absolute_path($$file, $$_PRO_FILE_PWD_) + alias = $$relative_path($$abs_path, $$abs_base) + resource_file_content += \ + "<file alias=\"$$xml_escape($$alias)\">$$xml_escape($$abs_path)</file>" + } + + resource_file_content += \ + "</qresource>" \ + "</RCC>" + + !write_file($$OUT_PWD/$$resource_file, resource_file_content): \ + error("Aborting.") + } + + RESOURCES -= $$resource + RESOURCES += $$resource_file +} + rcc.input = RESOURCES rcc.name = RCC ${QMAKE_FILE_IN} rcc.depend_command = $$QMAKE_RCC_DEP -list $$QMAKE_RESOURCE_FLAGS ${QMAKE_FILE_IN} diff --git a/mkspecs/features/spec_post.prf b/mkspecs/features/spec_post.prf index c9578773fe..4d398059b2 100644 --- a/mkspecs/features/spec_post.prf +++ b/mkspecs/features/spec_post.prf @@ -109,9 +109,8 @@ equals(MAKEFILE_GENERATOR, MSBUILD) \ } QMAKE_INSTALL_DIR = $$QMAKE_COPY_DIR equals(QMAKE_HOST.os, Windows) { - # Ugly (and broken for relative paths) hack to support cross-building for Unix. - QMAKE_SYMBOLIC_LINK = $$QMAKE_COPY - QMAKE_LN_SHLIB = $$QMAKE_SYMBOLIC_LINK + QMAKE_SYMBOLIC_LINK = $(QMAKE) -install ln -f -s + QMAKE_LN_SHLIB = $(QMAKE) -install ln -s } else { QMAKE_SYMBOLIC_LINK = ln -f -s QMAKE_LN_SHLIB = ln -s diff --git a/mkspecs/features/testlib_defines.prf b/mkspecs/features/testlib_defines.prf index 9176beb9dd..901e03a91d 100644 --- a/mkspecs/features/testlib_defines.prf +++ b/mkspecs/features/testlib_defines.prf @@ -1 +1,2 @@ -DEFINES += QT_TESTCASE_BUILDDIR=$$shell_quote(\"$$OUT_PWD\") +contains(TEMPLATE, vc.*): DEFINES += QT_TESTCASE_BUILDDIR=\"$$OUT_PWD\" +else: DEFINES += QT_TESTCASE_BUILDDIR=$$shell_quote(\"$$OUT_PWD\") diff --git a/mkspecs/linux-icc/qmake.conf b/mkspecs/linux-icc/qmake.conf index 8119c8aa09..9190aa9f28 100644 --- a/mkspecs/linux-icc/qmake.conf +++ b/mkspecs/linux-icc/qmake.conf @@ -12,7 +12,7 @@ QMAKE_LEXFLAGS = QMAKE_YACC = yacc QMAKE_YACCFLAGS = -d QMAKE_CFLAGS = -QMAKE_CFLAGS_APP = -fPIE +QMAKE_CFLAGS_APP = -fPIC QMAKE_CFLAGS_DEPS = -M QMAKE_CFLAGS_WARN_ON = -w1 -Wall -Wcheck -wd1572,873,2259,2261 QMAKE_CFLAGS_WARN_OFF = -w diff --git a/mkspecs/macx-ios-clang/Info.plist.app b/mkspecs/macx-ios-clang/Info.plist.app index 623ed496c5..623ed496c5 100755..100644 --- a/mkspecs/macx-ios-clang/Info.plist.app +++ b/mkspecs/macx-ios-clang/Info.plist.app diff --git a/mkspecs/winrt-arm-msvc2015/qmake.conf b/mkspecs/winrt-arm-msvc2015/qmake.conf new file mode 100644 index 0000000000..fcb6d99aa9 --- /dev/null +++ b/mkspecs/winrt-arm-msvc2015/qmake.conf @@ -0,0 +1,32 @@ +# +# qmake configuration for winrt-arm-msvc2015 +# +# Written for Microsoft Visual C++ 2015 +# + +include(../common/winrt_winphone/qmake.conf) +QMAKE_COMPILER_DEFINES += _MSC_VER=1900 +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP ARM __ARM__ __arm__ + +QMAKE_CFLAGS += -FS +QMAKE_CXXFLAGS += -FS +QMAKE_LFLAGS += /MACHINE:ARM /NODEFAULTLIB:kernel32.lib + +QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib + +# 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 +} + +VCPROJ_ARCH = ARM +MSVC_VER = 14.0 +WINSDK_VER = 10.0 +WINTARGET_VER = winv10.0 +WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in +WINRT_MANIFEST.architecture = arm diff --git a/mkspecs/winrt-arm-msvc2015/qplatformdefs.h b/mkspecs/winrt-arm-msvc2015/qplatformdefs.h new file mode 100644 index 0000000000..c8f88524d9 --- /dev/null +++ b/mkspecs/winrt-arm-msvc2015/qplatformdefs.h @@ -0,0 +1,34 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** 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 The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../common/winrt_winphone/qplatformdefs.h" diff --git a/mkspecs/winrt-x64-msvc2015/qmake.conf b/mkspecs/winrt-x64-msvc2015/qmake.conf new file mode 100644 index 0000000000..e8062f5364 --- /dev/null +++ b/mkspecs/winrt-x64-msvc2015/qmake.conf @@ -0,0 +1,32 @@ +# +# qmake configuration for winrt-x64-msvc2015 +# +# Written for Microsoft Visual C++ 2015 +# + +include(../common/winrt_winphone/qmake.conf) +QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32 +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP X64 __X64__ __x64__ + +QMAKE_CFLAGS += -FS +QMAKE_CXXFLAGS += -FS +QMAKE_LFLAGS += /MACHINE:X64 /NODEFAULTLIB:kernel32.lib + +QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib + +# 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 +} + +VCPROJ_ARCH = x64 +MSVC_VER = 14.0 +WINSDK_VER = 10.0 +WINTARGET_VER = winv10.0 +WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in +WINRT_MANIFEST.architecture = x64 diff --git a/mkspecs/winrt-x64-msvc2015/qplatformdefs.h b/mkspecs/winrt-x64-msvc2015/qplatformdefs.h new file mode 100644 index 0000000000..c8f88524d9 --- /dev/null +++ b/mkspecs/winrt-x64-msvc2015/qplatformdefs.h @@ -0,0 +1,34 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** 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 The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../common/winrt_winphone/qplatformdefs.h" diff --git a/mkspecs/winrt-x86-msvc2015/qmake.conf b/mkspecs/winrt-x86-msvc2015/qmake.conf new file mode 100644 index 0000000000..5b44a97e8d --- /dev/null +++ b/mkspecs/winrt-x86-msvc2015/qmake.conf @@ -0,0 +1,32 @@ +# +# qmake configuration for winrt-x86-msvc2015 +# +# Written for Microsoft Visual C++ 2015 +# + +include(../common/winrt_winphone/qmake.conf) +QMAKE_COMPILER_DEFINES += _MSC_VER=1900 _WIN32 +DEFINES += WINAPI_FAMILY=WINAPI_FAMILY_APP X86 __X86__ __x86__ + +QMAKE_CFLAGS += -FS +QMAKE_CXXFLAGS += -FS +QMAKE_LFLAGS += /SAFESEH /MACHINE:X86 /NODEFAULTLIB:kernel32.lib + +QMAKE_LIBS += windowscodecs.lib WindowsApp.lib runtimeobject.lib + +# 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 +} + +VCPROJ_ARCH = Win32 +MSVC_VER = 14.0 +WINSDK_VER = 10.0 +WINTARGET_VER = winv10.0 +WINRT_MANIFEST = $$PWD/../common/winrt_winphone/manifests/10.0/AppxManifest.xml.in +WINRT_MANIFEST.architecture = x86 diff --git a/mkspecs/winrt-x86-msvc2015/qplatformdefs.h b/mkspecs/winrt-x86-msvc2015/qplatformdefs.h new file mode 100644 index 0000000000..c8f88524d9 --- /dev/null +++ b/mkspecs/winrt-x86-msvc2015/qplatformdefs.h @@ -0,0 +1,34 @@ +/**************************************************************************** +** +** Copyright (C) 2015 The Qt Company Ltd. +** Contact: http://www.qt.io/licensing/ +** +** This file is part of the qmake spec of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL21$ +** 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 The Qt Company. For licensing terms +** and conditions see http://www.qt.io/terms-conditions. For further +** information use the contact form at http://www.qt.io/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 or version 3 as published by the Free +** Software Foundation and appearing in the file LICENSE.LGPLv21 and +** LICENSE.LGPLv3 included in the packaging of this file. Please review the +** following information to ensure the GNU Lesser General Public License +** requirements will be met: https://www.gnu.org/licenses/lgpl.html and +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** As a special exception, The Qt Company gives you certain additional +** rights. These rights are described in The Qt Company LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include "../common/winrt_winphone/qplatformdefs.h" |