From 880824649aa617a715b6d9a31fd1dba18df75a7b Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Fri, 27 May 2016 12:43:43 +0200 Subject: Fix 'The command line is too long' errors on Windows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit If all arguments are made absolute the system command line easily get's too long, which will lead to weird build errors later on. This can be easily worked around by resolving the path names on the callee side. Anyhow, we now have to make sure that the file separators are consistent. Task-number: QTBUG-53618 Change-Id: I1b28cc43dd890f6c9b723af9b70d2b2614651ba2 Reviewed-by: Michael BrĂ¼ning --- tools/buildscripts/find-included-moc-files | 4 +++- tools/buildscripts/find-mocables | 4 +++- tools/qmake/mkspecs/features/functions.prf | 12 +++--------- 3 files changed, 9 insertions(+), 11 deletions(-) (limited to 'tools') diff --git a/tools/buildscripts/find-included-moc-files b/tools/buildscripts/find-included-moc-files index e55f3824c..678b2d6f5 100755 --- a/tools/buildscripts/find-included-moc-files +++ b/tools/buildscripts/find-included-moc-files @@ -3,7 +3,9 @@ import re, sys, os includedMocs = set() -for f in filter(os.path.isfile, sys.argv[1:]): +dir = sys.argv[1] +files = sys.argv[2:] +for f in filter(os.path.isfile, [os.path.join(dir, f) for f in files]): inBlockComment = False for line in open(f).readlines(): m = re.search('#include "(moc_\w+.cpp)"', line) diff --git a/tools/buildscripts/find-mocables b/tools/buildscripts/find-mocables index 7c383cfec..4bfa311b5 100755 --- a/tools/buildscripts/find-mocables +++ b/tools/buildscripts/find-mocables @@ -3,7 +3,9 @@ import re, sys, os mocables = set() -for f in filter(os.path.isfile, sys.argv[1:]): +dir = sys.argv[1] +files = sys.argv[2:] +for f in filter(os.path.isfile, [os.path.join(dir, f) for f in files]): inBlockComment = False for line in open(f).readlines(): # Block comments handling diff --git a/tools/qmake/mkspecs/features/functions.prf b/tools/qmake/mkspecs/features/functions.prf index 2df689bca..a4abf458c 100644 --- a/tools/qmake/mkspecs/features/functions.prf +++ b/tools/qmake/mkspecs/features/functions.prf @@ -112,19 +112,13 @@ defineReplace(extractCFlag) { } defineReplace(findMocables) { - input = $$1 - for (file, input): \ - infiles += $$absolute_path($$file, $$_PRO_FILE_PWD_) - mocables = $$system("python $$QTWEBENGINE_ROOT/tools/buildscripts/find-mocables $$infiles") - mocables = $$replace(mocables, $$re_escape($${_PRO_FILE_PWD_}/), '') + mocables = $$system("$$system_path(python $$QTWEBENGINE_ROOT/tools/buildscripts/find-mocables $$_PRO_FILE_PWD_ $$1)") + mocables = $$replace(mocables, $$re_escape($$system_path($${_PRO_FILE_PWD_}/)), '') return($$mocables) } defineReplace(findIncludedMocFiles) { - input = $$1 - for (file, input): \ - infiles += $$absolute_path($$file, $$_PRO_FILE_PWD_) - return($$system("python $$QTWEBENGINE_ROOT/tools/buildscripts/find-included-moc-files $$infiles")) + return($$system("$$system_path(python $$QTWEBENGINE_ROOT/tools/buildscripts/find-included-moc-files $$_PRO_FILE_PWD_ $$1)")) } defineReplace(mocOutput) { -- cgit v1.2.3