From 5fa64386336b3072a12054726483e4850fc53dea Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 24 Sep 2017 08:26:30 +0300 Subject: Qmake: Introduce and use QMAKE_{SYSTEM,SHELL}_NULL_DEVICE variable, take 2 SYSTEM is used for system() calls, while SHELL is used in the target Makefiles. Task-number: QTBUG-62985 Change-Id: Ia75d3939c59c98699359421166433e8b4a6ee35e Reviewed-by: Frederik Gladhorn Reviewed-by: Oswald Buddenhagen --- mkspecs/features/ctest_testcase_common.prf | 14 ++------------ mkspecs/features/qt_functions.prf | 5 +---- mkspecs/features/spec_post.prf | 12 ++++++++---- mkspecs/features/toolchain.prf | 19 +++++++------------ 4 files changed, 18 insertions(+), 32 deletions(-) (limited to 'mkspecs') diff --git a/mkspecs/features/ctest_testcase_common.prf b/mkspecs/features/ctest_testcase_common.prf index cdc5cca1d7..adb9da1b6f 100644 --- a/mkspecs/features/ctest_testcase_common.prf +++ b/mkspecs/features/ctest_testcase_common.prf @@ -1,10 +1,5 @@ -win32 { - CMAKE_VERSION = $$system(cmake --version 2>NUL, lines) -} else { - CMAKE_VERSION = $$system(cmake --version 2>/dev/null, lines) -} - +CMAKE_VERSION = $$system(cmake --version 2>$$QMAKE_SYSTEM_NULL_DEVICE, lines) CMAKE_VERSION = $$member(CMAKE_VERSION, 0, 0) check.commands = @@ -15,12 +10,7 @@ isEmpty(CMAKE_VERSION) { return() } -win32 { - CTEST_VERSION = $$system(ctest --version 2>NUL) -} else { - CTEST_VERSION = $$system(ctest --version 2>/dev/null) -} - +CTEST_VERSION = $$system(ctest --version 2>$$QMAKE_SYSTEM_NULL_DEVICE) isEmpty(CTEST_VERSION) { message("ctest executable not found. Not running CMake unit tests") return() diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf index c00fdb73f8..1903e509c8 100644 --- a/mkspecs/features/qt_functions.prf +++ b/mkspecs/features/qt_functions.prf @@ -291,10 +291,7 @@ defineReplace(pkgConfigExecutable) { } } - equals(QMAKE_HOST.os, Windows): \ - PKG_CONFIG += 2> NUL - else: \ - PKG_CONFIG += 2> /dev/null + PKG_CONFIG += 2> $$QMAKE_SYSTEM_NULL_DEVICE return($$PKG_CONFIG) } diff --git a/mkspecs/features/spec_post.prf b/mkspecs/features/spec_post.prf index f87bf3c037..432bb51516 100644 --- a/mkspecs/features/spec_post.prf +++ b/mkspecs/features/spec_post.prf @@ -82,6 +82,7 @@ equals(MAKEFILE_GENERATOR, MSBUILD) \ QMAKE_MKDIR = mkdir # legacy QMAKE_MKDIR_CMD = if not exist %1 mkdir %1 & if not exist %1 exit 1 QMAKE_STREAM_EDITOR = $(QMAKE) -install sed + QMAKE_SHELL_NULL_DEVICE = NUL QMAKE_INSTALL_FILE = copy /y QMAKE_INSTALL_PROGRAM = copy /y } else { @@ -101,6 +102,7 @@ equals(MAKEFILE_GENERATOR, MSBUILD) \ QMAKE_MKDIR = mkdir -p # legacy QMAKE_MKDIR_CMD = test -d %1 || mkdir -p %1 QMAKE_STREAM_EDITOR = sed + QMAKE_SHELL_NULL_DEVICE = /dev/null equals(QMAKE_HOST.os, Windows) { MINGW_IN_SHELL = 1 # legacy @@ -118,9 +120,11 @@ equals(MAKEFILE_GENERATOR, MSBUILD) \ } QMAKE_INSTALL_DIR = $$QMAKE_COPY_DIR equals(QMAKE_HOST.os, Windows) { - QMAKE_SYMBOLIC_LINK = $(QMAKE) -install ln -f -s - QMAKE_LN_SHLIB = $(QMAKE) -install ln -s + QMAKE_SYMBOLIC_LINK = $(QMAKE) -install ln -f -s + QMAKE_LN_SHLIB = $(QMAKE) -install ln -s + QMAKE_SYSTEM_NULL_DEVICE = NUL } else { - QMAKE_SYMBOLIC_LINK = ln -f -s - QMAKE_LN_SHLIB = ln -s + QMAKE_SYMBOLIC_LINK = ln -f -s + QMAKE_LN_SHLIB = ln -s + QMAKE_SYSTEM_NULL_DEVICE = /dev/null } diff --git a/mkspecs/features/toolchain.prf b/mkspecs/features/toolchain.prf index 7b6f48de72..ba41598be1 100644 --- a/mkspecs/features/toolchain.prf +++ b/mkspecs/features/toolchain.prf @@ -32,15 +32,11 @@ isEmpty($${target_prefix}.INCDIRS) { # Get default include and library paths from compiler # gcc { - !equals(QMAKE_HOST.os, Windows) { - cmd_prefix = "LC_ALL=C" - cmd_suffix = "/dev/null" - null_file = /dev/null - } else { + cmd_suffix = "<$$QMAKE_SYSTEM_NULL_DEVICE >$$QMAKE_SYSTEM_NULL_DEVICE" + equals(QMAKE_HOST.os, Windows): \ cmd_prefix = "set LC_ALL=C&" - cmd_suffix = "NUL" - null_file = NUL - } + else: \ + cmd_prefix = "LC_ALL=C" cxx_flags = $$QMAKE_CXXFLAGS @@ -59,7 +55,7 @@ isEmpty($${target_prefix}.INCDIRS) { rim_qcc: \ # Need the cc1plus and ld command lines to pick up the paths - cxx_flags += $$QMAKE_LFLAGS_SHLIB -o $$null_file -v + cxx_flags += $$QMAKE_LFLAGS_SHLIB -o $$QMAKE_SYSTEM_NULL_DEVICE -v else: darwin:clang: \ # Need to link to pick up library paths cxx_flags += $$QMAKE_LFLAGS_SHLIB -o /dev/null -v -Wl,-v @@ -175,9 +171,8 @@ defineReplace(qtVariablesFromMSVC) { } defineReplace(qtVariablesFromGCC) { - null_device = /dev/null - equals(QMAKE_HOST.os, Windows): null_device = NUL - ret = $$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) <$$null_device 2>$$null_device", lines, ec) + ret = $$system("$$1 -E $$system_quote($$PWD/data/macros.cpp) \ + <$$QMAKE_SYSTEM_NULL_DEVICE 2>$$QMAKE_SYSTEM_NULL_DEVICE", lines, ec) !equals(ec, 0): qtCompilerErrror($$1) return($$ret) } -- cgit v1.2.3 From d57a7c41712f8627a462d893329dc3f0dbb52d32 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 28 Sep 2017 23:54:32 +0300 Subject: MinGW: Globally define WINVER and _WIN32_WINNT to enable Windows 7 API Change-Id: I637b33ba6d05f40486d8da927ae5cc5148299348 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/qt_build_config.prf | 3 +++ 1 file changed, 3 insertions(+) (limited to 'mkspecs') diff --git a/mkspecs/features/qt_build_config.prf b/mkspecs/features/qt_build_config.prf index 150d2b2cc3..76e1d15319 100644 --- a/mkspecs/features/qt_build_config.prf +++ b/mkspecs/features/qt_build_config.prf @@ -100,6 +100,9 @@ unix: CONFIG += explicitlib # By default we want tests on macOS to be built as standalone executables macos: CONFIG += testcase_no_bundle +# Override MinGW's definition in _mingw.h +mingw: DEFINES += WINVER=0x0601 _WIN32_WINNT=0x0601 + defineTest(qtBuildPart) { bp = $$eval($$upper($$section(_QMAKE_CONF_, /, -2, -2))_BUILD_PARTS) isEmpty(bp): bp = $$QT_BUILD_PARTS -- cgit v1.2.3 From 87eff0ea31bbaf4d3c3ff349ce32ff456794e2b5 Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Fri, 20 Oct 2017 12:45:58 +0200 Subject: Fix resolution of QMAKE_INFO_PLIST for non-bundle artifacts Change-Id: Id56cea1f09d7675fe60cdbd598e6f585a6b230d1 Reviewed-by: Oswald Buddenhagen --- mkspecs/features/mac/mac.prf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'mkspecs') diff --git a/mkspecs/features/mac/mac.prf b/mkspecs/features/mac/mac.prf index 52f06ef773..73d8b1208b 100644 --- a/mkspecs/features/mac/mac.prf +++ b/mkspecs/features/mac/mac.prf @@ -13,5 +13,6 @@ } $$add_plist: \ - QMAKE_LFLAGS += -Wl,-sectcreate,__TEXT,__info_plist,$$shell_quote($$QMAKE_INFO_PLIST) + QMAKE_LFLAGS += -Wl,-sectcreate,__TEXT,__info_plist,$$shell_quote( \ + $$relative_path($$absolute_path($$QMAKE_INFO_PLIST, $$_PRO_FILE_PWD_), $$OUT_PWD)) } -- cgit v1.2.3