summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/winrt_winphone/qmake.conf
Commit message (Collapse)AuthorAgeFilesLines
* Remove winrtOliver Wolff2020-06-061-103/+0
| | | | | | | | | Macros and the await helper function from qfunctions_winrt(_p).h are needed in other Qt modules which use UWP APIs on desktop windows. Task-number: QTBUG-84434 Change-Id: Ice09c11436ad151c17bdccd2c7defadd08c13925 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* Remove ANGLELaszlo Agocs2020-05-261-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This marks the end of EGL and OpenGL ES support on Windows. The concepts of -opengl dynamic, -opengl desktop, QT_OPENGL=software, etc. remain unchanged, with the exception of the disapperance of everything ANGLE related. CMake builds now work identically to qmake on Windows: they default to 'dynamic' OpenGL on Windows, unless -DINPUT_opengl=desktop is specified. On Windows, Qt 6 is expected to default to the "dynamic" OpenGL model by default, just like Qt 5.15. This can be changed by switching to "desktop" OpenGL, which will link to opengl32 (publicly, so other libs and applications will do so as well) and disallows using another OpenGL DLL. The "dynamic" mode is essential still because the fallback to a software rasterizer, such as the opengl32sw.dll we ship with the Qt packages, has to to work exactly like in Qt 5, the removal of ANGLE does not change this concept in any way (except of course that the middle option of using ANGLE is now gone) When it comes to the windows plugin's OpenGL blacklist feature, it works like before and accepts the ANGLE/D3D related keywords. They will then be ignored. Similarly, requesting QT_OPENGL=angle is ignored (but will show a warning). The D3D11 and DXGI configure time tests are removed: Qt 5.14 already depends on D3D 11.1 and DXGI 1.3 headers being available unconditionally on Win32 (in QRhi's D3D11 backend). No need to test for these. [ChangeLog][Windows] ANGLE is no longer included with Qt. Dynamic OpenGL builds work like before but ANGLE is no longer an option. OpenGL proper or an alternative opengl32 implementation are the two remaining options now. Attempting to set QT_OPENGL=angle or Qt::AA_UseOpenGLES will have no effect on Windows. Fixes: QTBUG-79103 Change-Id: Ia404e0d07f3fe191b27434d863c81180112ecb3b Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* Make it possible to undefine NDEBUG for nmake and VS projectsJoerg Bornemann2019-09-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | | For nmake and VS projects we added the NDEBUG define for the release configuration unconditionally within the qmake generators. To undefine it, users had to use a nasty work-around. Now, define NDEBUG within the MSVC mkspecs. In order to do that we introduce the DEFINES_RELEASE and DEFINES_DEBUG variables that are merged into DEFINES in default_pre.prf. Users can unset NDEBUG by writing DEFINES -= NDEBUG in their .pro file. Note that DEFINES_RELEASE and DEFINES_DEBUG are merged in default_pre.prf in order to give extra compilers (like moc) the chance to see the fully resolved DEFINES variable. This is different from the QMAKE_CFLAGS_(DEBUG|RELEASE) variables that get merged in default_post.prf. Fixes: QTBUG-78071 Change-Id: I381770a1d2f974fbae9b09a2254e3f2fc7842b68 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* Enable users to specify WindowsTargetPlatform[Min]Version in VS projectsJoerg Bornemann2018-11-161-0/+2
| | | | | | | | | | | | | | | | | | | | | | [ChangeLog][qmake] Introduced the variables WINDOWS_TARGET_PLATFORM_VERSION and WINDOWS_TARGET_PLATFORM_MIN_VERSION for overriding the default values of WindowsTargetPlatformVersion and WindowsTargetPlatformMinVersion in Visual Studio project files. The code to determine the default values is moved to qmake feature files. A common/windows-desktop.conf file is introduced for variables common to all non-UWP Windows mkspecs. The package_manifest feature uses WINDOWS_TARGET_PLATFORM_VERSION as default value for WINRT_MANIFEST.minVersion, and WINDOWS_TARGET_PLATFORM_MIN_VERSION for WINRT_MANIFEST.maxVersionTested respectively. Task-number: QTBUG-53654 Change-Id: I251ec7f9b804c9bc9f7d571f5b43d52b2a2d99d3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* winrt: Fix build with MSVC >= 15.8Oliver Wolff2018-09-121-1/+3
| | | | | | | | | | 39cb9ac873cc moved the _ENABLE_EXTENDED_ALIGNED_STORAGE define from msvc-version.conf to msvc-desktop.conf which basically removed the define from winrt builds. By adding it to winrt's common qmake.conf these builds are fixed. Change-Id: I3d87c55fb52685859713f7466012b45c46145678 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-10-041-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/global/qconfig-bootstrapped.h src/corelib/global/qglobal.h src/corelib/tools/qcryptographichash.cpp src/corelib/tools/qcryptographichash.h src/corelib/tools/qmessageauthenticationcode.cpp src/plugins/platforms/windows/qwindowswindow.h tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/itemviews/qitemdelegate/BLACKLIST Change-Id: Ib68112de985a3d714c2071f47c10e907e4f0229a
| * Do not define _HAS_EXCEPTIONS=0 in MSVC buildsJoerg Bornemann2017-09-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This definition causes a build error if concrt.h is included. According to Microsoft [1], this macro is unsupported. It was added in f5908363 to silence compiler warnings that are generated when exceptions are turned off and certain STL headers are included. We specifically disable the warnings in question now. [1] https://blogs.msdn.microsoft.com/vcblog/2015/07/14/stl-fixes-in-vs-2015-part-2/ Task-number: QTBUG-63409 Change-Id: I567d5d46292fbd7898394e217bb0987fbcdca9de Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-08-311-1/+0
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: examples/examples.pro qmake/library/qmakebuiltins.cpp src/corelib/global/qglobal.cpp Re-apply b525ec2 to qrandom.cpp(code movement in 030782e) src/corelib/global/qnamespace.qdoc src/corelib/global/qrandom.cpp src/gui/kernel/qwindow.cpp Re-apply a3d59c7 to QWindowPrivate::setVisible() (code movement in d7a9e08) src/network/ssl/qsslkey_openssl.cpp src/plugins/platforms/android/androidjniinput.cpp src/plugins/platforms/xcb/qxcbconnection.cpp src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/widgets/widgets/qmenu.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp Change-Id: If7ab427804408877a93cbe02079fca58e568bfd3
| * Remove QMAKE_LIBS_CORE variableJoerg Bornemann2017-08-281-1/+0
| | | | | | | | | | | | | | | | Define the lib dependencies for corelib in corelib.pro, where they belong. Change-Id: I973d3b0c571782d869b27dea243e899db4dddc43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-05-291-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/win32-g++/qmake.conf mkspecs/win32-icc/qmake.conf src/platformsupport/fontdatabases/mac/coretext.pri src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm Change-Id: I74a6f7705c9547ed8bbac7260eb4645543e32655
| * Restore behavior of using libEGL and libGLESv2 as default for angleOliver Wolff2017-05-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As Qt applications using OpenGL are linked against these libs, merging them into QtANGLE by default (780105f9062dec350bbe2a6800c40db3e6382578) was a binary incompatible change. This change restores the default behavior to the one before given change. If the user wants the libraries to be merged, he can pass combined-angle-lib to configure. Task-number: QTBUG-60373 Change-Id: Iedbd3f2ce9284fdde924cfae8d915d6d5fef00db Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* | x86: Add detection of the AES and SHA New InstructionsThiago Macieira2017-02-211-0/+2
|/ | | | | | | | | | | | | | | | | | | The AES instructions were first introduced with the Westmere shrink (22nm) of the Nehalem architecture. The SHA instructions are still pending on Intel architecture, but is available on AMD family 17h (gcc argument -march=znver1). Both features operate on SSE registers, so that's why the MSVC command- line argument is the SSE2 one and the configure-time tests depend on features.sse2. The qmake feature names end in "ni" because "aes" and "sha" are too simple and could clash with other uses. The QT_COMPILER_SUPPORTS_ macro doesn't have the "NI" suffix because it has to match the GCC/Clang predefined macro. Change-Id: I445bb15619f6401494e8fffd149dbd1f862ff51c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Merge remote-tracking branch 'origin/5.8' into devLiang Qi2017-01-251-3/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/common/msvc-desktop.conf mkspecs/common/msvc-version.conf mkspecs/common/winrt_winphone/qmake.conf mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/qt.prf mkspecs/features/uikit/default_post.prf mkspecs/features/winrt/default_pre.prf mkspecs/winphone-arm-msvc2013/qmake.conf mkspecs/winphone-x86-msvc2013/qmake.conf mkspecs/winrt-arm-msvc2013/qmake.conf mkspecs/winrt-x64-msvc2013/qmake.conf mkspecs/winrt-x86-msvc2013/qmake.conf qmake/generators/win32/msvc_vcproj.cpp src/gui/kernel/qwindowsysteminterface.cpp src/network/kernel/qhostaddress.cpp src/plugins/platforms/mirclient/qmirclientplugin.cpp src/plugins/platforms/mirclient/qmirclientplugin.h src/widgets/util/qsystemtrayicon.cpp tests/auto/widgets/itemviews/qlistview/tst_qlistview.cpp tools/configure/Makefile.mingw tools/configure/Makefile.win32 Done-with: Jake Petroules <jake.petroules@qt.io> Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: I4be3262d3994e11929d3b1ded2c3379783797dbe
| * centralize QMAKE_COMPILER_DEFINES+=_WIN32 also for winrt specsOswald Buddenhagen2016-12-301-0/+1
| | | | | | | | | | | | | | | | | | this is mostly for appearances (as evidenced by everything working despite it being missing from some specs), as the variable is just a fallback for moc.prf's automatic detection. Change-Id: Ie4af24c02ec03aaa1810281d1bb6876ea38cedf8 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Remove hard-coded MS compiler versions from the mkspecsThiago Macieira2016-12-231-4/+0
| | | | | | | | | | | | | | | | | | | | We're asking the compiler anyway, so we can fully use this information just as well. Note that this actually happens after the spec itself has been processed, so it was necessary to delay the version-specific flag handling as well. Change-Id: Ib57b52598e2f452985e9fffd14587b581d946022 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge ANGLE's libEGL and libGLESv2 into QtANGLEJan Arve Saether2016-10-281-4/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is needed in order to be able to specify a custom location of the ANGLE libs, and enables us to perform a LoadLibrary of ANGLE libs by just having the absolute path to QtANGLE.dll as the argument to LoadLibrary(). Previously, we had two ANGLE libraries: libEGL and libGLESv2. libEGL hard linked against libGLESv2. If we wanted to load libEGL from a custom location, we couldn't load libEGL by calling LoadLibrary with the absolute path to libEGL, because libEGL had problems finding libGLESv2. One solution to that could have been to call SetDllDirectory() with the path to the ANGLE libs before calling LoadLibrary("libEGL.dll"). Since the DLL directory would point to both ANGLE libs, this would ensure that the libGLESv2 was also found. Unfortunately, this approach is not thread safe (SetDllDirectory will affect all subsequent LoadLibrary(Ex) from the same process). Therefore, we chose to merge the two libraries into one to circumvent the whole problem. At the same time, this patch also enables loading of two different ANGLE libraries into the same process at once without renaming them: This was not possible before because libEGL hard linked to libGLESv2.dll. When libGLESv2.dll was already loaded, the second instance of libEGL would simply link against the already loaded version of libGLESv2.dll. This behavior is documented in the LoadLibraryEx documentation on MSDN: "If the string specifies a module name without a path and more than one loaded module has the same base name and extension, the function returns a handle to the module that was loaded first." Change-Id: Ic1d886ba802be72ddcf01235bafaedcef662762e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Jan Arve Sæther <jan-arve.saether@theqtcompany.com>
* Convert the old feature systemLars Knoll2016-09-151-2/+1
| | | | | | | | | | | | | ... to the new qmake based configuration system. This removes the old qfeatures.txt (distributed over configure.json files) and qfeatures.h (distributed over qconfig-<module>.h files). qfeatures.prf is gone without replacement, as attempts to use it would lead to followup errors anyway. Change-Id: I1598de19db937082283a905b9592d3849d2199d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* winrt: Add capabilities as specified by modulesMaurice Kalinowski2016-04-071-1/+4
| | | | | | | | | | | | | | | | | | | | | | | So far no capabilities (but internetClient for Windows 10) were added by default, which forced developers to always manually edit the WINRT_MANIFEST.capabilities(_device) property. This allowed to leave out non-required capabilities and keep the created manifest clean, examples being microphone for multimedia. However, this also breaks first user experience as deeper knowledge about this topic is required. Furthermore this is inconsistent with other platforms like Android, where all capabilities are set by default and developers need to edit the manifest manually in any case. With this change, modules can define the capability set to enable all features in the module. If developers want to disable some again, they need to adapt the generated manifest. From our experience this needs to be done in any case, latest at publishing stage when the store manipulates the manifest. Task-number: QTBUG-38802 Change-Id: I6d522268ee0afbfa00a30dbdd5e6ec9f415bebf3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* winrt: Use winsock2 API for hostname resolution on WinRT/WinPhoneOliver Wolff2016-01-051-2/+2
| | | | | | | | | | | | | | | That API has been available for WinRT and Windows Phone for some time now. By using it to get the machine name and for hostname resolution we can get rid of some winrt-only code and use qhostinfo_win.cpp on WinRT and Windows phone as well. Additionally the required capability was added to tst_qhostinfo so that this auto test can be run without any manual editing. Change-Id: I63fa5521bf8cdb0c919bd5a0100ea977c865622a Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* Rename ANGLE libs in order to not conflict with other ANGLE libsJan Arve Saether2015-12-011-2/+4
| | | | | | | | | | | | | | | | This is needed to be able to use Qt (with dynamic ANGLE) in a plugin while the host runs a different version of Qt (and ANGLE). In addition to changing the LIBEGL_NAME and LIBGLESV2_NAME variables you also need to update the value of the LIBRARY definition in the .def files for ANGLE: qtbase/src/3rdparty/angle/src/libGLESv2/libGLESv2[d?].def qtbase/src/3rdparty/angle/src/libGLESv2/libEGL[d?].def Task-number: QTBUG-48431 Change-Id: Idd00d039ba3e20cc0ec7496bee36ed1c90383b0d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* msvc: Introduce base config file for all targetsMaurice Kalinowski2015-11-301-0/+5
| | | | | | | | | | | | | | Visual Studio version specific changes have been added to msvc- desktop.conf which is not used in WinRT or Windows Phone related builds. Hence take a similar approach to gcc and introduce msvc-base to be used by all configurations for common settings. For WinRT this will only be applied to msvc2015 and later on to not introduce any regressions or behavior changes for previous versions. Change-Id: Ib1a4d539d46d788470c00cb5969fee74a803bd67 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* unify handling of library prefixes and extensionsOswald Buddenhagen2015-10-011-0/+3
| | | | | | | | | | | make sure that all specs define QMAKE_{PREFIX,EXTENSION}_{SH,STATIC}LIB, and adjust the code to make halfways consistent use of these variables, in particular on windows; Win32MakefileGenerator::getLibTarget() is gone as a result, as is QMAKE_CYGWIN_SHLIB. still, tons of hardcoded "lib" references remain in the unix generator, because no-one cares. Change-Id: I6ccf37cc562f6584221c94fa27b2834412e4e4ca Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* WinRT: Deployqt version/copyright information to dllsOliver Wolff2015-09-131-1/+1
| | | | | | | | | | | | | | | | | | If no_generated_target_info is not set, VERSION is set, and there is no .rc file that belongs to the project, qmake creates a .rc file that contains information about the target's version and copyright, for example. This resource handling is also supported by WinRT and we can add this information to the target. On Windows Phone, winresrc.h (which is needed for resource handling) is not available though. When trying to add a .rc file to a project in Visual Studio, it also complains about winres.h not being available. Instead of hacking around the issue, we just should not support this behavior on Windows Phone. Change-Id: Ie962bfa790916fed23294110062e3572a0e317f9 Reviewed-by: Andrew Knight <andrew.knight@intopalo.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Makes sure that yacc works with the MSYS bison on Windows.Thiago Macieira2015-07-201-1/+1
| | | | | | | | | | Most people's yacc are actually a symlink to bison. On Windows, where symlinks don't usually exist, we can use bison -y. This was tested with MSYS Bison. Change-Id: I913745d48af30f9ef7b846b6438500261dd6022d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* WinRT: Disable exceptions when turned offMaurice Kalinowski2015-05-191-1/+1
| | | | | | | | | | | On desktop windows we define _HAS_EXCEPTIONS=0 to also forward this option. Hence harmonize this with WinRT builds as well. As a side-effect qtdeclarative now compiles without warnings on WinRT. Change-Id: I8e343f172160991ffb2ede01303802f321de82b5 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* centralize setup of shell-related variables in spec_post.prfOswald Buddenhagen2015-03-061-2/+0
| | | | | | | | | | | | | | | | | | it makes no sense to let every spec do that separately, as it's fixed by the generator+shell. putting it into a file which is loaded regardless of the spec also allows us to remove the hardcoded fallbacks from qmake. if somebody overrode the values in their spec for some weird reasons, they'll need to override spec_post.prf. shell-{unix,win32}.conf are now dummies and print warnings. Task-number: QTBUG-37269 Change-Id: I66c24fb4072ce4d63fdbfc57618daa2a48fa1d80 Reviewed-by: Jochen Seemann <seemann.jochen@gmail.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* MSVC: Remove use of -Zm argumentKai Koehne2015-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | We've been setting the -Zm argument since the dawn of times (even before the first git commit). Anyhow, MSDN from VS2008 onwards indicates that this is not needed: "In earlier versions of Visual C++, the compiler used several discrete heaps, and each had a finite limit. Currently, the compiler dynamically grows the heaps as necessary up to a total heap size limit, and requires a fixed-size buffer only to construct precompiled headers. Consequently, the /Zm compiler option is rarely necessary." [ChangeLog][Compiler Specific Changes] Visual Studio: -Zm200 (an option to specify the precompiled header memory allocation limit) is not added anymore by qmake to the compiler calls. If you encounter an C1076 compiler error you might need to re-add it in your .pro file. Change-Id: Ia4bec7eba09d893a7d81886a1814602b9ce7563c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* WinRT: Disable compiler warning 4996 for debug buildsKai Koehne2015-01-191-1/+1
| | | | | | | | | Move compiler warning 4996 from level 3 to 4, like we did already for desktop builds: 0a76b6bc7f98900ea8 . Change-Id: Ic4bbaeb3104352a915b15eec7a9c9dda9a5cceec Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Maurice Kalinowski <maurice.kalinowski@theqtcompany.com>
* remove unsupported winrt mkspecsAndrew Knight2014-12-161-1/+1
| | | | | | | | | These mkspecs are not supported and no longer compile. Related support in qmake has also been removed. Change-Id: I7706dcfa5471e55e2ae3d580d65e9371e2c652d5 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oliver Wolff <oliver.wolff@theqtcompany.com>
* WinRT: Provide qmake feature for generating a package manifestAndrew Knight2014-01-241-1/+2
| | | | | | | | | | | | | | | | | | | | | | 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>
* Change entry point for WinRT apps to WinMainMaurice Kalinowski2014-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Using wmain causes the problem that the linker seems to create some code around it, which calls ExitProcess. That function however is forbidden by the Windows Store Certification process and hence you cannot publish an application currently. This does not apply to Windows Phone, which links in such a way that this problem does not occur there. With WinMain as the entry point this does not happen and also is the default entry point. Testing locally shows that certification goes fine. Since it does not pass the full command line string, the C-runtime method __getmainargs is used instead. This also gives access to any environment strings which may be passed. Note that MSDN states that this function should only be used for desktop applications. For XAML/C++ scenarios there is no entry function at all, but rather the App object gets instantiated in the default template. But this only works for XAML itself and not for plain C++ applications, probably some other entry wrapper is created on the fly here. Done-with: Andrew Knight <andrew.knight@digia.com> Change-Id: I8a118eddf6cfeddeca7d676267e979af17123e02 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* apply WinRT store certification linker flagsMaurice Kalinowski2013-12-201-1/+1
| | | | | | | | | | | | | | | | Those flags are required to pass the Windows Store App Certification process. Otherwise apps are not allowed to be published. The SAFESEH option is only required for x86. According to documentation APPCONTAINER only talks about the executable, but when running through the certification, the Qt modules are reported to be errornous as well. Change-Id: I5450687dcd5bc537149e331332e253c4617df55d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-12-051-1/+1
|\ | | | | | | | | | | | | Conflicts: src/sql/drivers/sqlite/qsql_sqlite.cpp Change-Id: Ia7cffd2c99ae3d5eea6b5740683c06e921336dcd
| * disable incremental linking for release_with_debug_info buildsOswald Buddenhagen2013-12-031-1/+1
| | | | | | | | | | | | | | | | it's very unlikely that these artifacts will need rebuilding during a debugging session (these pdbs are meant to support crash dump analysis). Change-Id: Ia8138f9298355b402d8dd3f042f85b669693de64 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
* | Make console a no-op for WinRTMaurice Kalinowski2013-11-141-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compared to other platforms there is no concept of a console application in WinRT. Hence all applications need to be UI applications and use winmain. Furthermore winmain takes care of launch arguments to be properly converted to arguments passed to user's main(). There is a chicken and egg problem with config.tests as compilation needs to have an existing entry point which is not available at configure time. Hence hardcode the entry point to main for configuring to WinRT. Those tests are pure compile tests, so the logic of the test does not change. Change-Id: I4d3186691a8440845c24b2529cc9646e86dfd8da Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | WinRT: Remove Windows metadata flags from common mkspecAndrew Knight2013-11-041-2/+2
| | | | | | | | | | | | | | Winmd is not used, so there is no reason to embed it. Change-Id: I0820256aecd9c3c71b0b0c8afa53941b03f97363 Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Clean up common winrt/winphone mkspecOliver Wolff2013-10-251-2/+1
| | | | | | | | | | Change-Id: I010bf977e01fab2f39184bbe730ec70128cc2982 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | WinRT: Added msvc2013 mkspecsOliver Wolff2013-10-251-2/+1
| | | | | | | | | | | | | | Change-Id: I052f6ba19056e7c0df6d7ea5548eb4dac4db125e Reviewed-by: Andrew Knight <andrew.knight@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* | Windows RT and Windows Phone QPAAndrew Knight2013-10-021-2/+5
| | | | | | | | | | | | | | Change-Id: I6ab8af31f73439172e43fb709831821482b1cc99 Done-with: Kamil Trzcinski Done-with: Oliver Wolff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | WinRT: Added missing WIN32 define to qmake.confOliver Wolff2013-10-021-2/+2
| | | | | | | | | | | | | | | | | | | | Without that define here moc cannot handle qsystemdetection properly. While having to touch the mkspecs I also removed the no longer needed WINRT define. Change-Id: I0609bd173c7bc14ccdd862afc777d7793dda02b8 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Andrew Knight <andrew.knight@digia.com>
* | add WinRT event dispatcherOliver Wolff2013-09-261-1/+1
|/ | | | | | Change-Id: I40b3f896b89b99e271e1a5ca625a5193f4a7f59e Done-with: Kamil Trzcinski Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* winmain for winrtAndrew Knight2013-09-141-1/+1
| | | | | | | | | | | | | WinRT passes the executable and Appx server info to the CRT main, and supports several additional activation arguments as well. This handles the arguments passed to main as well as the case where a modern app is launched from an external application (e.g. Qt Creator). Task-number: QTBUG-30198 Change-Id: Ia843e98c7843d5705f5f6d1c809de0b6bcdb5d26 Done-with: Kamil Trzcinski Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
* build system support for WinRTOliver Wolff2013-09-141-0/+93
Done-With: Andrew Knight Done-With: Oswald Buddenhagen Change-Id: Ief4e921072a03229bb342480a85024a1fc09fa56 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>