summaryrefslogtreecommitdiffstats
path: root/mkspecs/common/msvc-desktop.conf
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'origin/5.13' into 5.14Joerg Bornemann2019-09-201-0/+1
|\ | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/makefile.h Change-Id: I4c2deac4f6376c85f5e4fe7fb0ccc9ab9a013cd7
| * 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 /OPT:REF explicitly for MSVCYuhang Zhao2019-08-141-1/+1
|/ | | | | | | | | | /OPT:REF is enabled for release builds for MSVC by default, however, clang-cl may not enable it without this flag, add it to MSVC's mkspec so that all compilers based on MSVC can benefit from it as well. Change-Id: Ia80c20a8510cfa1e4687e39104ce99b37a2aa13f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Merge remote-tracking branch 'origin/5.12' into devLiang Qi2018-12-041-1/+1
|\ | | | | | | | | | | | | Conflicts: src/gui/painting/qdrawhelper.cpp Change-Id: I4916e07b635e1d3830e9b46ef7914f99bec3098e
| * Active Qt Servers: Fix midl warning about unknown optionFriedemann Kleint2018-11-271-1/+1
| | | | | | | | | | | | | | | | | | Remove the option from msvc-desktop.conf, which duplicates the /nologo option in idcidl.prf. Fixes: QTBUG-72046 Change-Id: I906097e0611f4578c307616b3f9ebecdfc4d8812 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
* | Enable users to specify WindowsTargetPlatform[Min]Version in VS projectsJoerg Bornemann2018-11-161-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | [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>
* Fix qtbase build for clang-cl with MSVC 2017 15.8Friedemann Kleint2018-08-241-1/+3
| | | | | | | | | | Move the definition of _ENABLE_EXTENDED_ALIGNED_STORAGE to msvc-desktop.conf so that it becomes effective for all compilers using MSVC (icc, clang-cl). Task-number: QTBUG-50804 Change-Id: I5ff612cc0f5a712b855925f9bcf645e578e80504 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.9' into 5.11Liang Qi2018-02-141-2/+4
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/corelib/animation/qvariantanimation.cpp src/corelib/global/qglobal.cpp src/corelib/global/qlogging.cpp src/corelib/io/qprocess_win.cpp src/corelib/json/qjsonarray.cpp src/corelib/tools/qsimd_p.h src/corelib/tools/qtimezoneprivate_p.h src/corelib/xml/qxmlstream_p.h src/gui/kernel/qsimpledrag.cpp src/gui/kernel/qsimpledrag_p.h src/plugins/generic/generic.pro src/plugins/platforms/cocoa/qcocoamenu.mm src/widgets/styles/qmacstyle_mac.mm tests/auto/concurrent/qtconcurrentmap/BLACKLIST tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp tests/auto/corelib/tools/qdatetime/tst_qdatetime.cpp tests/auto/gui/kernel/qwindow/BLACKLIST tests/auto/widgets/dialogs/qmessagebox/BLACKLIST Change-Id: I508d686cf20f7f8cc6a7119b9bc7c3bbb505c58e
| * unify windows mkspecs: update definitionsAlexander Shevchenko2018-01-171-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mingw-w64 toolchain: - add missing compiler definitions, similar to 'msvc-desktop.conf' toolchain, - describe the reasons of missing compiler definitions, available in 'msvc-desktop.conf' toolchain, - add missing 'QMAKE_CXXFLAGS' and 'QMAKE_CXXFLAGS_WARN_ON' variables, similar to 'msvc-desktop.conf' toolchain. ICC on Windows toolchain: - add 'QMAKE_CFLAGS_OPTIMIZE_FULL' variable, similar to 'gcc-base.conf' toolchain, though left it unused for now, - add missing flags to 'QMAKE_CFLAGS' variable, similar to 'msvc-desktop.conf' toolchain, - update deprecated 'Qwd' flag with 'Qdiag-disable', - use 'QMAKE_CFLAGS_OPTIMIZE_DEBUG' variable instead of '-Od' flag, similar to 'gcc-base.conf' toolchain (ICC implies '-O2' optimization level by default, while MSVC implies '-Od'), - add 'QMAKE_CFLAGS_UTF8_SOURCE' variable, similar to 'msvc-version.conf' toolchain; use a workaround to initialize it, until '-utf-8' flag would be supported by ICC on Windows, - update deprecated '-Qstd=c++1z' flag with '-Qstd=c++17', MSVC toolchain: - remove 'incremental' from MSVC 'CONFIG' variable, since it has relevance only for the Unix generator, - add 'QMAKE_CFLAGS_OPTIMIZE_DEBUG' variable, used in ICC for Windows toolchain, - add empty 'QMAKE_LIBS' variable, similar to 'win32-g++' toolchain, - add 'uuid.lib' library to 'QMAKE_LIBS_GUI' variable, similar to 'win32-g++' toolchain, - add C++14 and C++17 language support flags, though left them disabled for now, similar to 'win32-icc' toolchain. Change-Id: Ideef62d0422674184836faa655bfc5d09a5f612f Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Lars Knoll2017-12-301-3/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf mkspecs/win32-g++/qmake.conf src/corelib/global/qglobal_p.h src/corelib/global/qoperatingsystemversion_p.h src/corelib/io/qfilesystemengine_win.cpp src/network/bearer/qbearerengine.cpp src/platformsupport/input/libinput/qlibinputpointer.cpp src/sql/doc/snippets/code/doc_src_sql-driver.cpp src/widgets/kernel/qwidget_p.h src/widgets/kernel/qwidgetwindow.cpp src/widgets/styles/qfusionstyle.cpp tests/auto/corelib/io/qfileinfo/tst_qfileinfo.cpp Change-Id: I80e2722f481b12fff5d967c28f89208c0e9a1dd8
| * unify windows mkspecs: reorder variables and flagsAlexander Shevchenko2017-12-201-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Common changes to mingw-w64, ICC on Windows, and MSVC toolchains: - set similar order of variables and its splitting into sections, - set similar order of flags in variables and the way they are set. mingw-w64 toolchain: - move 'gcc-base.conf' include before setting Windows specific flags, similar to include 'msvc-desktop.conf' in ICC on Windows toolchain; this leads to consistency with other toolchains and allows to safely override common GCC variables with Windows specific ones, when needed, - move 'QMAKE_EXT_OBJ' and 'QMAKE_EXT_RES' variables to the linker flags section, according to its purpose. MSVC toolchain: - set flags order in 'CONFIG' variable, similar to mingw-w64 toolchain. Change-Id: I417cc8f7959c669dd504f2c5c11eb879a7989bd4 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Liang Qi2017-12-051-4/+8
|\| | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/quiview.mm Change-Id: I88384c70047391c75d9ff166c8d9881ff6751dbf
| * unify windows mkspecs: update descriptionAlexander Shevchenko2017-11-291-4/+8
| | | | | | | | | | | | | | | | Common changes to mingw-w64, ICC on Windows and MSVC toolchains: - update toolchains description similar to 'gcc-base.conf'. Change-Id: Ie456c6cec86c0d1c0107ca84a0fa7855666df91e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | 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-07-061-1/+1
|\| | | | | | | | | | | | | Conflicts: .qmake.conf Change-Id: I43531e087bb810889d5c1fbfcdffb29b78804839
| * Add _UNICODE define to MSVC and MinGW mkspecsJoerg Bornemann2017-07-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | System headers like tchar.h need the _UNICODE define, not UNICODE. While qplatformdefs.h already provides _UNICODE when UNICODE is defined, users might want to include tchar.h without Qt includes. This is consistent with Visual Studio's default defines. Task-number: QTBUG-61411 Change-Id: I2f604368080270d840f0dbb2cf273805d2ba5239 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-06-191-2/+2
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess_unix.cpp src/corelib/io/qprocess_win.cpp src/plugins/platforms/android/qandroidplatformintegration.h src/plugins/platforms/windows/qwindowscontext.cpp src/plugins/platforms/windows/windows.pri src/tools/uic/cpp/cppwriteinitialization.cpp src/widgets/doc/src/widgets-and-layouts/gallery.qdoc Change-Id: I8d0834c77f350ea7540140c2c7f372814afc2d0f
| * Add /NOLOGO to midl and rc callsJoerg Bornemann2017-06-121-2/+2
| | | | | | | | | | | | | | | | This removes clutter from build logs. Task-number: QTBUG-52383 Change-Id: If057f26df017eb9c53a57bc2ba825ae2191130bc 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>
* | Merge remote-tracking branch 'origin/5.9' into devLiang Qi2017-05-071-2/+5
|\| | | | | | | | | | | | | | | Conflicts: src/network/access/qnetworkreply.cpp tests/auto/corelib/kernel/qmetaobject/tst_qmetaobject.cpp Change-Id: Iadf766269454087e69fb216fc3857d85b0ddfaad
| * Add configure flag to optimize Qt for sizeAllan Sandfeld Jensen2017-04-291-2/+5
| | | | | | | | | | | | | | | | Adds default off configure flag to use compiler optimizations for size instead of the default speed/size trade-off. Change-Id: I36702064ef2cc743d2d03a386adf5cefd5371b6e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Basic Vulkan enablersLaszlo Agocs2017-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For Android, Windows and xcb. Verified on Win10 with NVIDIA, Win10 with AMD, Android with Tegra K1, Android aarch64 with Tegra X1, and Linux aarch64 with Tegra X1 (Jetson TX1, L4T). Introduce QPA-based Vulkan library loader, core function resolver, and instance creation support. In addition to creating a new VkInstance, adopting an existing one from an external engine is supported as well. The WSI specifics are hidden in the platform plugins. Vulkan-capable windows use the new surface type VulkanSurface and are associated with a QVulkanInstance. On Windows VULKAN_SDK is picked up automatically so finding vulkan.h needs no additional manual steps once the LunarG SDK is installed. [ChangeLog][QtGui] Added support for rendering to QWindow via the Vulkan graphics API. Task-number: QTBUG-55981 Change-Id: I50fa92d313fa440e0cc73939c6d7510ca317fbc9 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Andy Nichols <andy.nichols@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-7/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * Merge all "win32-msvc*" mkspecs into oneThiago Macieira2016-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we can tell the MSVC version from the compiler now, each of the qmake.conf files is now the same, so let's just have "win32-msvc" and be future-proof. Likewise for win32-clang-msvc. qplatformdefs.h was already common. Since we can't obtain the MSVC version from the unified mkspec name any more, I dropped the warning level during the qmake bootstrap to reduce the number of warnings that need to be disabled from compiler version to version. There is no point in keeping the old mkspecs, but configure will re-map the -platform argument to the unified spec as necessary, to keep existing configure command lines working. [ChangeLog][Visual Studio] Qt now has a common mkspec for all Visual Studio versions, called "win32-msvc". The old names which contained the version number are now gone (but qmake scopes based on the old names continue to work). The version of the compiler can be obtained from the MSC_VER and MSVC_VER variables (for example, for Visual Studio 2015, those contain the values 1900 and 14.0, respectively). Those variables are also available with the Intel compiler (win32-icc) and with Clang (win32-clang-msvc). Done-with: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Change-Id: Ib57b52598e2f452985e9fffd14587c0a77a5c09c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * Remove hard-coded MS compiler versions from the mkspecsThiago Macieira2016-12-231-6/+1
| | | | | | | | | | | | | | | | | | | | 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>
| * determine compiler version at build time, not in configureOswald Buddenhagen2016-12-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | this makes it consistent with the determination of the default include/library paths. this makes sense, as it's possible to switch the sdk/toolchain after building qt (within reason). a side effect of this change is that for compilers which emulate other compilers, both the real and the emulated version are now made available. Change-Id: Icfcc672c0d2e3d1b5e622993c366063d70ad327c Started-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge ANGLE's libEGL and libGLESv2 into QtANGLEJan Arve Saether2016-10-281-4/+3
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Silence cl.exe warning about -arch:SSE2 being unknown in 64-bit buildsThiago Macieira2015-12-051-5/+12
| | | | | | | | | | That implies we need to differentiate between a variable set but empty and an empty variable. GCC, Clang and the Intel compiler accept -msse2 on 64-bit builds without warning (they also accept -mno-sse2), but the Microsoft compiler does not have that option. Change-Id: I54233388ba10994996ae3e749fd829085e8fd7b7 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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-49/+1
| | | | | | | | | | | | | | 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>
* Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-08-261-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/snippets/code/doc_src_qmake-manual.pro qmake/doc/src/qmake-manual.qdoc src/corelib/io/qstorageinfo_unix.cpp src/corelib/tools/qbytearray.cpp src/widgets/kernel/qwidgetwindow.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/mimetypes/qmimedatabase/tst_qmimedatabase.cpp tests/auto/network/access/qnetworkreply/BLACKLIST Change-Id: I9efcd7e1cce1c394eed425c43aa6fce7d2edf31c
| * Use /Zc:throwingNew by default with MSVC 2015Thiago Macieira2015-08-101-1/+1
| | | | | | | | | | | | | | | | | | As recommended by MS in http://blogs.msdn.com/b/vcblog/archive/2015/08/06/new-in-vs-2015-zc-throwingnew.aspx Change-Id: Id3d5c7bf4d4c45069621ffff13f80cecc1141353 Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.5' into devFrederik Gladhorn2015-08-061-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/global/qt-cpp-defines.qdocconf src/3rdparty/forkfd/forkfd.c src/corelib/codecs/qtextcodec.cpp src/corelib/kernel/qmetatype.cpp src/corelib/tools/qset.qdoc src/gui/accessible/qaccessible.cpp src/gui/image/qpixmapcache.cpp src/opengl/qgl.cpp src/tools/qdoc/generator.cpp src/widgets/kernel/qwidget.cpp tests/auto/widgets/widgets/qcombobox/tst_qcombobox.cpp Change-Id: I4fbe1fa756a54c6843aa75f4ef70a1069ba7b085
| * MSVC2015: Disable warning C4577 ('noexcept' used with no exception handling ↵Friedemann Kleint2015-08-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | mode specified). Fix the flood of warnings: src/corelib/global/qflags.h(52): warning C4577: 'noexcept' used with no exception handling mode specified; termination on exception is not guaranteed. Specify /EHsc now occurring since we don't have exception handling enabled. Change-Id: I05d12ee6303b4f9fceb48507fadfd7d1a5604ea4 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>
* fix C4275 warnings for MSVC 2010 buildDebao Zhang2015-03-281-1/+2
| | | | | | | | | | This issue had been fixed by SHA: a12a2fdf684a6fc19aefc14f32842deab0270e86 but re-introduced by SHA: c23d1c76953704ecb52c833d7ef1de2e2f89b1e6 again. Task-number: QTBUG-45085 Change-Id: If98ee108335d80035179a83b1b28f384395d8373 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@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>
* Configure MSVC builds as C++11Allan Sandfeld Jensen2015-02-131-0/+2
| | | | | | | | | | | QtWebEngine and QtWebKit uses the Qt config to detect if C++11 is enabled. Since it is always enabled on MSVC, we can safely set the flag indicating it is a C++11 build when using a newer MSVC version. Change-Id: I2efb8d1a9b1cf1496481569403c00358d0cae365 Reviewed-by: Michael Brüning <michael.bruning@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* MSVC: Disable compiler warning 4996 for debug buildsKai Koehne2015-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | Move compiler warning 4996 from level 3 to 4. This is needed to avoid warnings about the use of C++ standard library functions like std::copy, which is used e.g. in qvector.h (since c6752c5aa19): 'std::copy': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' Because the warning has to be disabled before any standard C++ header is included one cannot just fix this locally in qvector.h. Change-Id: I929f1535656bca9f5beb7fd0d557178370c232c6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* Add detection of and support for Visual Studio 2015Thiago Macieira2014-12-131-4/+16
| | | | | | | | | | | | | Tested with the Preview release of November 2014. Differences to the 2013 detection and support: - Option -Zc:strictStrings is present in both debug and release mode and is passed to qmake's own build - New warnings 4456, 4457 and 4458 (shadowing) are disabled - Compiler supports -arch:AVX2 Change-Id: I9572ff4d4aded4004c1fa5d6f13ffee5462043d6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Create a common qmake configuration for all MSVC versionsThiago Macieira2014-12-131-0/+132
Most files are exactly the same, so it's silly to duplicate this all over. The differences could have been kept in each of the qmake.conf files, but I preferred to centralize because they apply to each newer version and, soon enough, version-specific configuration would grow again. Change-Id: I5c5ed58055c954acf4851d87c70cc5af49c98738 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>