diff options
author | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2014-11-18 20:21:09 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-02-04 16:33:45 +0000 |
commit | 36160e898020249e65bbed168d805a2c44e7814a (patch) | |
tree | a82926787990dd9853b5c4487e3a2ea67e6c6a8a | |
parent | 9c877bf6ed39237863b2801682a3532bfee3034d (diff) |
make configure -redo and config.status able to handle spaces in arguments
Change-Id: If6ffe381b03595885570ae431a9937c6fdce164b
Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
-rwxr-xr-x | configure | 10 | ||||
-rw-r--r-- | tools/configure/configureapp.cpp | 10 |
2 files changed, 11 insertions, 9 deletions
@@ -87,7 +87,13 @@ if [ x"$1" = x"-top-level" ]; then fi # later cache the command line in config.status -OPT_CMDLINE=`echo $@ | sed 's,-v ,,g; s,-v$,,g'` +OPT_CMDLINE= +for i in "$@"; do + if [ "x$i" != "x-v" ]; then + [ -z "${i##* *}" ] && i="'$i'" + OPT_CMDLINE="$OPT_CMDLINE $i" + fi +done # initialize global variables QMAKE_SWITCHES= @@ -7040,7 +7046,7 @@ fi # finally save the executed command to another script #------------------------------------------------------------------------------- if [ `basename $0` != "config.status" ]; then - CONFIG_STATUS="$relpath/$relconf $OPT_CMDLINE" + CONFIG_STATUS="$relpath/$relconf$OPT_CMDLINE" # add the system variables for varname in $SYSTEM_VARIABLES; do diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp index 3226e52279..adab4b7a9a 100644 --- a/tools/configure/configureapp.cpp +++ b/tools/configure/configureapp.cpp @@ -4387,12 +4387,8 @@ void Configure::reloadCmdLine() QFile inFile(buildPath + "/configure" + dictionary[ "CUSTOMCONFIG" ] + ".cache"); if (inFile.open(QFile::ReadOnly)) { QTextStream inStream(&inFile); - QString buffer; - inStream >> buffer; - while (buffer.length()) { - configCmdLine += buffer; - inStream >> buffer; - } + while (!inStream.atEnd()) + configCmdLine += inStream.readLine().trimmed(); inFile.close(); } } @@ -4405,7 +4401,7 @@ void Configure::saveCmdLine() if (outFile.open(QFile::WriteOnly | QFile::Text)) { QTextStream outStream(&outFile); for (QStringList::Iterator it = configCmdLine.begin(); it != configCmdLine.end(); ++it) { - outStream << (*it) << " " << endl; + outStream << (*it) << endl; } outStream.flush(); outFile.close(); |