msvc-base.conf 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #
  2. # qmake configuration for Microsoft Visual Studio C/C++ Compiler
  3. # This mkspec is used for all win32-msvcXXXX, winrt-XXX-msvcXXX
  4. # and winphone-XXX-msvcXXX specs
  5. #
  6. #
  7. # Version-specific changes
  8. #
  9. greaterThan(MSC_VER, 1499) {
  10. # Visual Studio 2008 (9.0) / Visual C++ 15.0 and up
  11. QMAKE_CFLAGS_MP = -MP
  12. QMAKE_CXXFLAGS_MP = $$QMAKE_CFLAGS_MP
  13. }
  14. greaterThan(MSC_VER, 1599) {
  15. # Visual Studio 2010 (10.0) / Visual C++ 16.0 and up
  16. MAKEFILE_GENERATOR = MSBUILD
  17. QMAKE_CFLAGS_AVX = -arch:AVX
  18. QMAKE_CFLAGS_AVX2 = -arch:AVX
  19. VCPROJ_EXTENSION = .vcxproj
  20. }
  21. greaterThan(MSC_VER, 1699) {
  22. # Visual Studio 2012 (11.0) / Visual C++ 17.0 and up
  23. QMAKE_CXXFLAGS_EXCEPTIONS_OFF = -D_HAS_EXCEPTIONS=0
  24. QMAKE_LFLAGS_CONSOLE = /SUBSYSTEM:CONSOLE@QMAKE_SUBSYSTEM_SUFFIX@
  25. QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS@QMAKE_SUBSYSTEM_SUFFIX@
  26. QT_CONFIG += c++11
  27. CONFIG += c++11
  28. }
  29. greaterThan(MSC_VER, 1799) {
  30. # Visual Studio 2013 (12.0) / Visual C++ 18.0 and up
  31. QMAKE_CFLAGS += -FS
  32. QMAKE_CXXFLAGS += -FS
  33. equals(MSC_VER, 1800) {
  34. QMAKE_CFLAGS_RELEASE += -Zc:strictStrings
  35. QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
  36. QMAKE_CXXFLAGS_RELEASE += -Zc:strictStrings
  37. QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -Zc:strictStrings
  38. }
  39. }
  40. greaterThan(MSC_VER, 1899) {
  41. # Visual Studio 2015 (14.0) / Visual C++ 19.0 and up
  42. QMAKE_CFLAGS += -Zc:strictStrings
  43. QMAKE_CFLAGS_WARN_ON += -w44456 -w44457 -w44458
  44. QMAKE_CFLAGS_AVX2 = -arch:AVX2
  45. QMAKE_CXXFLAGS += -Zc:strictStrings -Zc:throwingNew
  46. QMAKE_CXXFLAGS_WARN_ON += -w44456 -w44457 -w44458 -wd4577 -wd4467
  47. }