Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
- Add the user current directory in PATH before starting the simulation executable.

git-svn-id: https://openmodelica.org/svn/OpenModelica/trunk@25450 f25d12d1-65f4-0310-ae8a-bbce733d8d8e
  • Loading branch information
adeas31 committed Apr 8, 2015
1 parent 22c2202 commit 99e7837
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 2 deletions.
1 change: 1 addition & 0 deletions OMEdit/OMEditGUI/Simulation/SimulationDialog.cpp
Expand Up @@ -929,6 +929,7 @@ SimulationOptions SimulationDialog::createSimulationOptions()
simulationOptions.setIsValid(true);
simulationOptions.setReSimulate(mIsReSimulate);
simulationOptions.setWorkingDirectory(mpMainWindow->getOMCProxy()->changeDirectory());
simulationOptions.setFileName(mpLibraryTreeNode->getFileName());
return simulationOptions;
}

Expand Down
6 changes: 5 additions & 1 deletion OMEdit/OMEditGUI/Simulation/SimulationOptions.h
Expand Up @@ -104,7 +104,8 @@ class SimulationOptions
setAdditionalSimulationFlags("");
setIsValid(false);
setReSimulate(false);
mWorkingDirectory = "";
setWorkingDirectory("");
setFileName("");
}

void setClassName(QString className) {mClassName = className;}
Expand Down Expand Up @@ -230,6 +231,8 @@ class SimulationOptions
bool isReSimulate() {return mReSimulate;}
void setWorkingDirectory(QString workingDirectory) {mWorkingDirectory = workingDirectory;}
QString getWorkingDirectory() const {return mWorkingDirectory;}
void setFileName(QString fileName) {mFileName = fileName;}
QString getFileName() const {return mFileName;}
private:
QString mClassName;
QString mStartTime;
Expand Down Expand Up @@ -292,6 +295,7 @@ class SimulationOptions
bool mValid;
bool mReSimulate;
QString mWorkingDirectory;
QString mFileName;
};

#endif // SIMULATIONOPTIONS_H
5 changes: 4 additions & 1 deletion OMEdit/OMEditGUI/Simulation/SimulationProcessThread.cpp
Expand Up @@ -113,7 +113,10 @@ void SimulationProcessThread::runSimulationExecutable()
// run the simulation executable to create the result file
#ifdef WIN32
fileName = fileName.append(".exe");
mpSimulationProcess->setProcessEnvironment(StringHandler::simulationProcessEnvironment());
QFileInfo fileInfo(simulationOptions.getFileName());
QProcessEnvironment processEnvironment = StringHandler::simulationProcessEnvironment();
processEnvironment.insert("PATH", fileInfo.absoluteDir().absolutePath() + ";" + processEnvironment.value("PATH"));
mpSimulationProcess->setProcessEnvironment(processEnvironment);
#endif
mpSimulationProcess->start(fileName, args);
emit sendSimulationOutput(QString("%1 %2").arg(fileName).arg(args.join(" ")), StringHandler::OMEditInfo, true);
Expand Down

0 comments on commit 99e7837

Please sign in to comment.