summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/common/msvc-desktop.conf6
-rw-r--r--mkspecs/common/msvc-version.conf5
-rw-r--r--mkspecs/features/android/android_deployment_settings.prf2
-rw-r--r--mkspecs/features/qt_example_installs.prf18
-rw-r--r--mkspecs/features/testcase.prf2
-rw-r--r--mkspecs/win32-g++/qmake.conf9
-rw-r--r--mkspecs/win32-icc/qmake.conf15
7 files changed, 39 insertions, 18 deletions
diff --git a/mkspecs/common/msvc-desktop.conf b/mkspecs/common/msvc-desktop.conf
index 1a38f70205..b7d2eecc82 100644
--- a/mkspecs/common/msvc-desktop.conf
+++ b/mkspecs/common/msvc-desktop.conf
@@ -15,7 +15,7 @@
MAKEFILE_GENERATOR = MSVC.NET
QMAKE_PLATFORM = win32
QMAKE_COMPILER = msvc
-CONFIG += incremental flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe
+CONFIG += flat debug_and_release debug_and_release_target precompile_header autogen_precompile_source embed_manifest_dll embed_manifest_exe
DEFINES += UNICODE _UNICODE WIN32
QMAKE_COMPILER_DEFINES += _WIN32
contains(QMAKE_TARGET.arch, x86_64) {
@@ -23,6 +23,7 @@ contains(QMAKE_TARGET.arch, x86_64) {
QMAKE_COMPILER_DEFINES += _WIN64
}
+QMAKE_CFLAGS_OPTIMIZE_DEBUG = -Od
QMAKE_CFLAGS_OPTIMIZE = -O2
QMAKE_CFLAGS_OPTIMIZE_SIZE = -O1
@@ -94,7 +95,8 @@ QMAKE_EXTENSION_SHLIB = dll
QMAKE_PREFIX_STATICLIB =
QMAKE_EXTENSION_STATICLIB = lib
-QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib user32.lib advapi32.lib
+QMAKE_LIBS =
+QMAKE_LIBS_GUI = gdi32.lib comdlg32.lib oleaut32.lib imm32.lib winmm.lib ws2_32.lib ole32.lib uuid.lib user32.lib advapi32.lib
QMAKE_LIBS_NETWORK = ws2_32.lib
QMAKE_LIBS_OPENGL = glu32.lib opengl32.lib gdi32.lib user32.lib
QMAKE_LIBS_OPENGL_ES2 = gdi32.lib user32.lib
diff --git a/mkspecs/common/msvc-version.conf b/mkspecs/common/msvc-version.conf
index 9f5da91806..ccd809abf3 100644
--- a/mkspecs/common/msvc-version.conf
+++ b/mkspecs/common/msvc-version.conf
@@ -100,6 +100,11 @@ greaterThan(QMAKE_MSC_VER, 1909) {
# API is used in direct2d, but also in multimedia, positioning and sensors.
# We can try again with a later version of Visual Studio.
# QMAKE_CXXFLAGS_STRICTCXX = -permissive-
+ # MSVC partially supports the following, but '__cplusplus' definition is set
+ # as for C++98 until MSVC fully conforms with C++14, see
+ # https://developercommunity.visualstudio.com/content/problem/139261/msvc-incorrectly-defines-cplusplus.html
+ # QMAKE_CXXFLAGS_CXX14 = -std:c++14
+ # QMAKE_CXXFLAGS_CXX1Z = -std:c++latest
}
greaterThan(QMAKE_MSC_VER, 1910) {
diff --git a/mkspecs/features/android/android_deployment_settings.prf b/mkspecs/features/android/android_deployment_settings.prf
index 913ab71412..e6b2431f9a 100644
--- a/mkspecs/features/android/android_deployment_settings.prf
+++ b/mkspecs/features/android/android_deployment_settings.prf
@@ -1,4 +1,4 @@
-contains(TEMPLATE, ".*app"):!build_pass: {
+contains(TEMPLATE, ".*app"):!build_pass:!android-embedded {
defineReplace(emitString) {
return("\"$$replace(1, \\\\, \\\\)\"")
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index 668669e4cd..c9ce926b1a 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -44,19 +44,25 @@ contains(TEMPLATE, .*app): \
for(ex, EXAMPLE_FILES): \
sourcefiles += $$files($$absolute_path($$ex, $$_PRO_FILE_PWD_))
for(res, RESOURCES) {
- rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines)
- for(rline, rfile) {
+ !contains(res, \\.qrc$): \
+ next()
+ rfile = $$absolute_path($$res, $$_PRO_FILE_PWD_)
+ rpath = $$dirname(rfile)
+ rcont = $$cat($$rfile, lines)
+ for (rline, rcont) {
resrc = $$replace(rline, ^[ \\t]*<file[^>]*>([^<]+)</file>[ \\t]*$, \\1)
!equals(resrc, $$rline): \
- sourcefiles += $$resrc
+ sourcefiles += $$absolute_path($$resrc, $$rpath)
}
}
for(res, RC_FILE) {
- rfile = $$cat($$absolute_path($$res, $$_PRO_FILE_PWD_), lines)
- for(rline, rfile) {
+ rfile = $$absolute_path($$res, $$_PRO_FILE_PWD_)
+ rpath = $$dirname(rfile)
+ rcont = $$cat($$rfile, lines)
+ for (rline, rcont) {
resrc = $$replace(rline, "^\\d+\\s+ICON\\s+[^\"]*\"([^\"]+)\"\$", \\1)
!equals(resrc, $$rline): \
- sourcefiles += $$resrc
+ sourcefiles += $$absolute_path($$resrc, $$rpath)
}
}
sourcefiles += \
diff --git a/mkspecs/features/testcase.prf b/mkspecs/features/testcase.prf
index 3e1537dde0..8d51c9d028 100644
--- a/mkspecs/features/testcase.prf
+++ b/mkspecs/features/testcase.prf
@@ -44,7 +44,7 @@ unix {
$${type}.commands += $${TEST_TARGET_DIR}/$(QMAKE_TARGET)
} else {
# Windows
- !isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = $${TEST_TARGET_DIR}$${QMAKE_DIR_SEP}
+ !isEmpty(TEST_TARGET_DIR): TEST_TARGET_DIR = $$shell_path($$TEST_TARGET_DIR)$${QMAKE_DIR_SEP}
$${type}.commands += $${TEST_TARGET_DIR}$(TARGET)
}
diff --git a/mkspecs/win32-g++/qmake.conf b/mkspecs/win32-g++/qmake.conf
index d728047765..12f3567754 100644
--- a/mkspecs/win32-g++/qmake.conf
+++ b/mkspecs/win32-g++/qmake.conf
@@ -16,8 +16,11 @@ include(../common/g++-base.conf)
MAKEFILE_GENERATOR = MINGW
QMAKE_PLATFORM = win32 mingw
CONFIG += debug_and_release debug_and_release_target precompile_header
-DEFINES += UNICODE _UNICODE
-QMAKE_COMPILER_DEFINES += __GNUC__ WIN32
+DEFINES += UNICODE _UNICODE WIN32
+QMAKE_COMPILER_DEFINES += __GNUC__ _WIN32
+# can't add 'DEFINES += WIN64' and 'QMAKE_COMPILER_DEFINES += _WIN64' defines for
+# x86_64 platform similar to 'msvc-desktop.conf' toolchain, because, unlike for MSVC,
+# 'QMAKE_TARGET.arch' is inherently unavailable.
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_LEX = flex
@@ -32,6 +35,8 @@ QMAKE_CFLAGS_AESNI = -maes
QMAKE_CFLAGS_SHANI = -msha
QMAKE_CXX = $${CROSS_COMPILE}g++
+QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
+QMAKE_CXXFLAGS_WARN_ON = $$QMAKE_CFLAGS_WARN_ON
QMAKE_CXXFLAGS_RTTI_ON = -frtti
QMAKE_CXXFLAGS_RTTI_OFF = -fno-rtti
QMAKE_CXXFLAGS_EXCEPTIONS_ON = -fexceptions -mthreads
diff --git a/mkspecs/win32-icc/qmake.conf b/mkspecs/win32-icc/qmake.conf
index a539bfba72..cc9c6e7363 100644
--- a/mkspecs/win32-icc/qmake.conf
+++ b/mkspecs/win32-icc/qmake.conf
@@ -4,7 +4,7 @@
# Written for Intel C++ Compiler on Windows / icl 16.0 or higher
#
-# Use the Microsoft (R) C/C++ Optimizing Compiler configuration,
+# Use the Microsoft C/C++ Optimizing Compiler configuration,
# since ICC on Windows pretends to be MSVC
include(../common/msvc-desktop.conf)
@@ -13,11 +13,14 @@ include(../common/msvc-desktop.conf)
QMAKE_COMPILER += intel_icl
+QMAKE_CFLAGS_OPTIMIZE_FULL = -O3
+
QMAKE_CC = icl
-QMAKE_CFLAGS = -nologo -Zm200 /Qprec /Qwd1744,1738,809,3373
-QMAKE_CFLAGS_WARN_ON = -W3 /Qwd673
-QMAKE_CFLAGS_WARN_OFF = -W0 /Qwd673
-QMAKE_CFLAGS_DEBUG = -Od -Zi -MDd
+QMAKE_CFLAGS = -nologo -Zc:wchar_t -Qprec -Zm200 -Qdiag-disable:1744,1738,809,3373
+QMAKE_CFLAGS_WARN_ON = -W3 -Qdiag-disable:673
+QMAKE_CFLAGS_WARN_OFF = -W0 -Qdiag-disable:673
+QMAKE_CFLAGS_DEBUG = $$QMAKE_CFLAGS_OPTIMIZE_DEBUG -Zi -MDd
+QMAKE_CFLAGS_UTF8_SOURCE = -Qoption,cpp,--unicode_source_kind,UTF-8
QMAKE_CFLAGS_LTCG = -Qipo
QMAKE_CFLAGS_DISABLE_LTCG = -Qno-ipo
@@ -46,7 +49,7 @@ QMAKE_CXXFLAGS_WARN_OFF = $$QMAKE_CFLAGS_WARN_OFF
QMAKE_CXXFLAGS_CXX11 = -Qstd=c++11
# ICC supports the following but Qt won't compile
#QMAKE_CXXFLAGS_CXX14 = -Qstd=c++14
-#QMAKE_CXXFLAGS_CXX1Z = -Qstd=c++1z
+#QMAKE_CXXFLAGS_CXX1Z = -Qstd=c++17
QMAKE_CXXFLAGS_LTCG = $$QMAKE_CFLAGS_LTCG
QMAKE_CXXFLAGS_DISABLE_LTCG = $$QMAKE_CFLAGS_DISABLE_LTCG