bool ModPlusDymolaCtrl::compile(const QFileInfoList & moDependencies) { InfoSender::sendCurrentTask("Dymola : Compiling model "+_modModelPlus->modModelName()); //QString logFilePath = _mmoFolder+QDir::separator()+"log.html"; QString logFilePath = _modModelPlus->mmoFolder().absoluteFilePath("buildlog.txt"); //******************** // update dependencies //******************** QFileInfoList moDeps = moDependencies; // 1- add project loaded mo files QFileInfoList projectMoFiles = _project->moFiles(); for(int i=0;i<projectMoFiles.size();i++) if(!moDeps.contains(projectMoFiles.at(i))) moDeps.push_back(projectMoFiles.at(i)); // 2 - remove modelica library from moDependencies since Dymola // automatically loads it moDeps.removeAll(_project->moomc()->getFileOfClass("Modelica")); // compile bool success = Dymola::firstRun(_modModelPlus->moFilePath(),_modModelPlus->modModelName(), _modModelPlus->mmoFolder(),logFilePath,moDeps,_modModelPlus->neededFiles()); // Inform ListInfo::InfoNum iMsg; if(success) iMsg = ListInfo::MODELCOMPILATIONSUCCESS; else iMsg = ListInfo::MODELCOMPILATIONFAIL; // Infos InfoSender::instance()->send(Info(iMsg,_modModelPlus->modModelName(),logFilePath)); InfoSender::instance()->eraseCurrentTask(); return success; }