2525#include " erroritem.h"
2626#include " threadresult.h"
2727#include " cppcheck.h"
28-
29- static const char CLANG[] = " clang" ;
30- static const char CLANGTIDY[] = " clang-tidy" ;
28+ #include " common.h"
3129
3230CheckThread::CheckThread (ThreadResult &result) :
3331 mState(Ready),
@@ -82,7 +80,7 @@ void CheckThread::run()
8280 while (!file.isEmpty () && mState == Running) {
8381 qDebug () << " Checking file" << file;
8482 mCppcheck .check (file.toStdString ());
85- runAddons (addonPath, nullptr , file);
83+ runAddonsAndTools (addonPath, nullptr , file);
8684 emit fileChecked (file);
8785
8886 if (mState == Running)
@@ -94,7 +92,7 @@ void CheckThread::run()
9492 file = QString::fromStdString (fileSettings.filename );
9593 qDebug () << " Checking file" << file;
9694 mCppcheck .check (fileSettings);
97- runAddons (addonPath, &fileSettings, QString::fromStdString (fileSettings.filename ));
95+ runAddonsAndTools (addonPath, &fileSettings, QString::fromStdString (fileSettings.filename ));
9896 emit fileChecked (file);
9997
10098 if (mState == Running)
@@ -109,12 +107,12 @@ void CheckThread::run()
109107 emit done ();
110108}
111109
112- void CheckThread::runAddons (const QString &addonPath, const ImportProject::FileSettings *fileSettings, const QString &fileName)
110+ void CheckThread::runAddonsAndTools (const QString &addonPath, const ImportProject::FileSettings *fileSettings, const QString &fileName)
113111{
114112 QString dumpFile;
115113
116- foreach (const QString addon, mAddons ) {
117- if (addon == CLANG || addon == CLANGTIDY ) {
114+ foreach (const QString addon, mAddonsAndTools ) {
115+ if (addon == CLANG_ANALYZER || addon == CLANG_TIDY ) {
118116 if (!fileSettings)
119117 continue ;
120118
@@ -195,7 +193,7 @@ void CheckThread::runAddons(const QString &addonPath, const ImportProject::FileS
195193 QFile::remove (analyzerInfoFile + ' .' + addon + " -results" );
196194 }
197195
198- if (addon == CLANG ) {
196+ if (addon == CLANG_ANALYZER ) {
199197 args.insert (0 ," --analyze" );
200198 args.insert (1 , " -Xanalyzer" );
201199 args.insert (2 , " -analyzer-output=text" );
@@ -206,7 +204,13 @@ void CheckThread::runAddons(const QString &addonPath, const ImportProject::FileS
206204 args.insert (2 , " --" );
207205 }
208206
209- const QString cmd (mClangPath .isEmpty () ? addon : (mClangPath + ' /' + addon + " .exe" ));
207+ #ifdef Q_OS_WIN
208+ const QString ext = " .exe" ;
209+ #else
210+ const QString ext = " " ;
211+ #endif
212+ const QString exename (addon == CLANG_ANALYZER ? (" clang" + ext) : (" clang-tidy" + ext));
213+ const QString cmd (mClangPath .isEmpty () ? exename : (mClangPath + ' /' + exename));
210214 {
211215 QString debug (cmd.contains (" " ) ? (' \" ' + cmd + ' \" ' ) : cmd);
212216 foreach (QString arg, args) {
@@ -383,7 +387,7 @@ void CheckThread::parseClangErrors(const QString &tool, const QString &file0, QS
383387 errorItem.severity = Severity::SeverityType::style;
384388 } else {
385389 message = r1.cap (5 );
386- id = CLANG ;
390+ id = CLANG_ANALYZER ;
387391 }
388392
389393 if (errorItem.errorPath .size () == 1 ) {
0 commit comments