diff options
author | Oswald Buddenhagen <[email protected]> | 2010-10-19 11:14:03 +0200 |
---|---|---|
committer | Oswald Buddenhagen <[email protected]> | 2010-11-17 13:19:07 +0100 |
commit | 1e362b0f8b0dfd712337df35cd26c5dc98dfc294 (patch) | |
tree | dbb61c65fc1c3e84b507e03c2b3f62a36acd6488 /src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp | |
parent | 531c70f05bfc8355f856f2af41be533fb13b85e6 (diff) |
overhaul process argument handling
get away from argument stringlists. instead, use native shell command
lines which support quoting/splitting, environment variable expansion
and redirections with well-understood semantics.
Task-number: QTCREATORBUG-542
Task-number: QTCREATORBUG-1564
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 56870530fbf..6b1c4ba7135 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -202,12 +202,12 @@ void CMakeOpenProjectWizard::setMsvcVersion(const QString &version) m_msvcVersion = version; } -QStringList CMakeOpenProjectWizard::arguments() const +QString CMakeOpenProjectWizard::arguments() const { return m_arguments; } -void CMakeOpenProjectWizard::setArguments(const QStringList &args) +void CMakeOpenProjectWizard::setArguments(const QString &args) { m_arguments = args; } @@ -426,7 +426,6 @@ void CMakeRunPage::runCMake() { m_runCMake->setEnabled(false); m_argumentsLineEdit->setEnabled(false); - QStringList arguments = Utils::Environment::parseCombinedArgString(m_argumentsLineEdit->text()); CMakeManager *cmakeManager = m_cmakeWizard->cmakeManager(); #ifdef Q_OS_WIN @@ -464,11 +463,11 @@ void CMakeRunPage::runCMake() m_output->clear(); if (m_cmakeWizard->cmakeManager()->isCMakeExecutableValid()) { - m_cmakeProcess = new QProcess(); + m_cmakeProcess = new Utils::QtcProcess(); connect(m_cmakeProcess, SIGNAL(readyReadStandardOutput()), this, SLOT(cmakeReadyReadStandardOutput())); connect(m_cmakeProcess, SIGNAL(readyReadStandardError()), this, SLOT(cmakeReadyReadStandardError())); connect(m_cmakeProcess, SIGNAL(finished(int)), this, SLOT(cmakeFinished())); - cmakeManager->createXmlFile(m_cmakeProcess, arguments, m_cmakeWizard->sourceDirectory(), m_buildDirectory, env, generator); + cmakeManager->createXmlFile(m_cmakeProcess, m_argumentsLineEdit->text(), m_cmakeWizard->sourceDirectory(), m_buildDirectory, env, generator); } else { m_runCMake->setEnabled(true); m_argumentsLineEdit->setEnabled(true); @@ -522,7 +521,7 @@ void CMakeRunPage::cmakeFinished() } m_cmakeProcess->deleteLater(); m_cmakeProcess = 0; - m_cmakeWizard->setArguments(Utils::Environment::parseCombinedArgString(m_argumentsLineEdit->text())); + m_cmakeWizard->setArguments(m_argumentsLineEdit->text()); //TODO Actually test that running cmake was finished, for setting this bool emit completeChanged(); } |