summaryrefslogtreecommitdiffstats
path: root/mkspecs/win32-clang-msvc
Commit message (Collapse)AuthorAgeFilesLines
* QRandom: add support for RDSEEDThiago Macieira2019-10-091-0/+1
| | | | | | | | | | | | | | | The Intel whitepaer[1] recommends using the RDSEED over RDRAND whenever present. libstdc++ from GCC 10 will also use it in std::random_device. [ChangeLog][QtCore][QRandomGenerator] The system() random generator will now use the RDSEED instruction on x86 processors whenever available as the first source of random data. It will fall back to RDRAND and then to the system functions, in that order. [1] https://software.intel.com/en-us/articles/intel-digital-random-number-generator-drng-software-implementation-guide Change-Id: I907a43cd9a714da288a2fffd15bab176e54e1975 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* Enable /OPT:REF explicitly for MSVCYuhang Zhao2019-08-141-2/+0
| | | | | | | | | | /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.13' into devLiang Qi2019-08-131-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/win32-clang-msvc/qmake.conf src/corelib/tools/qlist.h src/gui/painting/qcompositionfunctions.cpp src/gui/painting/qtriangulator_p.h src/gui/text/qfontengine_p.h src/network/kernel/qhostinfo_p.h src/platformsupport/fontdatabases/freetype/qfontengine_ft.cpp Done-With: Allan Sandfeld Jensen <allan.jensen@qt.io> Change-Id: Ib8a0308cf77224c4fbdcf56778fdac4a43e37798
| * Fix std detection for win32-clang-msvcYuhang Zhao2019-08-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | clang-cl will never support C++ standards newer than C++14 without these flags. I didn't add them to msvc-based-version.conf because on Windows, only clang-cl use the same flags with MSVC, both ICC and MinGW have their own flags. So they are clang-cl specific flags. Change-Id: Ia44a5ea4237c77ea5e897fffded32cbc008a4729 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Merge remote-tracking branch 'origin/5.13' into devLiang Qi2019-04-101-3/+0
|\| | | | | | | | | | | | | | | Conflicts: mkspecs/win32-clang-msvc/qmake.conf src/gui/image/qpnghandler.cpp Change-Id: Ied79d02912ffb3a307a99483df7db08c7f9d0cd8
| * Fix precompiled headers with clang-clv5.13.0-beta2Allan Sandfeld Jensen2019-04-091-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang-cl couldn't find the header given to it by -FI when it isn't in any of the included directories. Additionally clang-cl 8 has a bug with exported templated classes with inline methods that causes it to have missing symbols at link time. We work around this. Fixes: QTBUG-74563 Change-Id: I7becf05fa8edb07bd4cefe12bee3737e5e1dfa14 Reviewed-by: Yuhang Zhao <2546789017@qq.com> Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io> Reviewed-by: Kai Koehne <kai.koehne@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.13' into dev" into ↵Qt Forward Merge Bot2019-04-041-11/+11
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.13' into devFriedemann Kleint2019-03-261-11/+11
| |\| | | | | | | | | | Change-Id: I38389a69411f4549fed432f1181dbe23398b34a2
| | * win32-clang-msvc: qmake.conf: Fix alignmentYuhang Zhao2019-03-201-11/+11
| | | | | | | | | | | | | | | Change-Id: I62bff5e10c0dfb45078a9ff5a2378f251c6596aa Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
* | | Clang_cl: Use -O3 for full optimizationAllan Sandfeld Jensen2019-04-041-1/+2
|/ / | | | | | | | | | | | | | | Pass it through as a traditional clang argument instead of relying on what MSVC cl.exe can take. Change-Id: I94405ce6ab80d16b687e62c9aa4b2866ba84f0e2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Clang: use -Oz instead of -O1 to optimize for sizeYuhang Zhao2019-03-211-0/+2
| | | | | | | | | | Change-Id: I60fecba64e968d10b87a9c1af571ff4a3aa98ad7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | clang-cl: Enable linker optimization explicitlyYuhang Zhao2019-03-211-0/+2
| | | | | | | | | | | | | | | | In release mode, MSVC linker will enable it by default while clang-cl won't. So enable it explicitly. Change-Id: Iabfd8698d426290fee59662acf6c124b9f226c11 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Clang: Add Thin LTO in addition to Full LTOYuhang Zhao2019-03-201-1/+3
|/ | | | | Change-Id: I6502f3ff31c16faebd9b931b99b77a273971f611 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* clang-cl: use GCC -m CPU feature flag optionMårten Nordheim2019-01-161-0/+21
| | | | | | | | To enable non-default options Change-Id: I2d2f5dc8368a8235fd91e7f9986df4402612a823 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Fix clang LTCG config on WindowsYuhang Zhao2018-12-161-0/+8
| | | | | | | | | | | | | | To enable LTCG, clang-cl.exe need "-flto" instead of "-GL". But if you enabled LTO, the lib tool will have to change to "llvm-lib.exe" and the link tool also need to change to "lld-link.exe", because msvc linker will see these lib files as corrupted files. Leave QMAKE_LFLAGS_LTCG empty because lld-link doesn't need any additional parameters. Fixes: QTBUG-72402 Change-Id: Ia34d98bd1ad919d542ea3eac83944bf8c40ce0cd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* unify windows mkspecs: define c++ flags explicitlyAlexander Shevchenko2018-02-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | with 40e87491 merged, 'QMAKE_CXXFLAGS' variable in 'win32-g++' toolchain became defined via 'QMAKE_CFLAGS'. the similar can be found in 'win32-clang-msvc' and 'win32-icc' toolchains too. this works for now, because such definitions just duplicates code from includes, like 'gcc-base.conf', 'msvc-desktop.conf', etc. but it would became broken, if changes would be applied to 'QMAKE_CXXFLAGS' definitions in that includes, prior to the redefinitions in 'win32-*/qmake.conf' toolchains. thus 'QMAKE_CXXFLAGS' definitions in 'win32-*/qmake.conf' toolchains should not depend on 'QMAKE_CFLAGS' and be done explicitly. in order to apply this change correctly to 'win32-icc' toolchain, its 'QMAKE_CFLAGS' variable should become dependent on definitions in the includes, similar to 'win32-clang-msvc' and 'win32-msvc' toolchains. Change-Id: I5e820e44a769a590ba63f70dcb3a115311093311 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Merge all "win32-msvc*" mkspecs into oneThiago Macieira2016-12-232-0/+60
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>