diff --git a/src/libs/utils/fileutils.cpp b/src/libs/utils/fileutils.cpp index 654d263664d..ee9b20a4bb0 100644 --- a/src/libs/utils/fileutils.cpp +++ b/src/libs/utils/fileutils.cpp @@ -106,6 +106,14 @@ void CommandLine::addArgs(const QStringList &inArgs, OsType osType) addArg(arg, osType); } +// Adds cmd's executable and arguments one by one to this commandline. +// Useful for 'sudo', 'nice', etc +void CommandLine::addArgs(const CommandLine &cmd, OsType osType) +{ + addArg(cmd.executable().toString()); + addArgs(cmd.splitArguments(osType)); +} + void CommandLine::addArgs(const QString &inArgs, RawType) { QtcProcess::addArgs(&m_arguments, inArgs); diff --git a/src/libs/utils/fileutils.h b/src/libs/utils/fileutils.h index 5456582f26d..f0cbcc87975 100644 --- a/src/libs/utils/fileutils.h +++ b/src/libs/utils/fileutils.h @@ -148,6 +148,7 @@ public: void addArg(const QString &arg, OsType osType = HostOsInfo::hostOs()); void addArgs(const QStringList &inArgs, OsType osType = HostOsInfo::hostOs()); + void addArgs(const CommandLine &cmd, OsType osType = HostOsInfo::hostOs()); void addArgs(const QString &inArgs, RawType);