diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-10-13 13:44:56 +0200 |
---|---|---|
committer | Jake Petroules <jake.petroules@qt.io> | 2017-10-16 07:45:13 +0000 |
commit | 8c6ea8d35c24901ec886b18e8bef13d84cf4d607 (patch) | |
tree | cae05b76bb2902fe31cc869961c9df748b0b8338 | |
parent | 07fa68a352864f70b7930c996c4b4a7c5d9cd4a7 (diff) |
Properly split newlines from gcc and nm output on Windows
This fixes an issue (and probably undiscovered others) where
qbs.architecture could be defined as, for example, "avr2\r" due to the
fact that output was always split on \n and not on \r\n on Windows.
Task-number: QBS-1217
Change-Id: If5d1af238394b950545990318fb12b343aa67072
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
-rw-r--r-- | share/qbs/modules/cpp/gcc.js | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/share/qbs/modules/cpp/gcc.js b/share/qbs/modules/cpp/gcc.js index d003d8d89..aa17a8a5c 100644 --- a/share/qbs/modules/cpp/gcc.js +++ b/share/qbs/modules/cpp/gcc.js @@ -961,7 +961,7 @@ function collectStdoutLines(command, args) var p = new Process(); try { p.exec(command, args); - return p.readStdOut().split('\n').filter(function (e) { return e; }); + return p.readStdOut().split(/\r?\n/g).filter(function (e) { return e; }); } finally { p.close(); } @@ -1304,7 +1304,7 @@ function dumpMacros(env, compilerFilePath, args, nullDevice, tag) { (args || []).concat(["-Wp,-dM", "-E", "-x", languageName(tag || "c") , nullDevice]), true); var map = {}; - p.readStdOut().trim().split("\n").map(function (line) { + p.readStdOut().trim().split(/\r?\n/g).map(function (line) { var parts = line.split(" ", 3); map[parts[1]] = parts[2]; }); @@ -1327,7 +1327,7 @@ function dumpDefaultPaths(env, compilerFilePath, args, nullDevice, pathListSepar var libraryPaths = []; var frameworkPaths = []; var addIncludes = false; - var lines = p.readStdErr().trim().split("\n").map(function (line) { return line.trim(); }); + var lines = p.readStdErr().trim().split(/\r?\n/g).map(function (line) { return line.trim(); }); for (var i = 0; i < lines.length; ++i) { var line = lines[i]; var prefix = "LIBRARY_PATH="; |