diff --git a/src/musredit_qt5/musredit/PAdmin.cpp b/src/musredit_qt5/musredit/PAdmin.cpp index 47b6cf49..82b8399e 100644 --- a/src/musredit_qt5/musredit/PAdmin.cpp +++ b/src/musredit_qt5/musredit/PAdmin.cpp @@ -773,6 +773,34 @@ PAdmin::PAdmin() : QObject() fPrefPathName = pathFln; loadPrefs(fPrefPathName); + + // make sure that musrfit, musrview, etc are found under the fExecPath provided + QString str = fExecPath + "/musrfit"; + QFileInfo info(str); + if (info.exists()) { + if (!info.isExecutable()) + QMessageBox::critical(0, "ERROR", "musrfit found but not recognized as executable.\nPlease check!"); + } else { + QMessageBox::critical(0, "ERROR", "musrfit not found.\nHave you set the necessary system variables properly?\nPlease check the manual.\nBefore you can use musrfit, this needs to be fixed."); + } + + // check if system variables are set properly + bool sysVarMissing = false; + QString msg("Missing System Variables:\n"); + path = procEnv.value("ROOTSYS", ""); + if (path.isEmpty()) { + msg += "> ROOTSYS\n"; + sysVarMissing = true; + } + path = procEnv.value("MUSRFITPATH", ""); + if (path.isEmpty()) { + msg += "> MUSRFITPATH\n"; + sysVarMissing = true; + } + if (sysVarMissing) { + msg += "Please set this/these system variables."; + QMessageBox::warning(0, "WARNING", msg); + } } //--------------------------------------------------------------------------