From ca47896204482bf4a6979e3838bf7f09f61cebeb Mon Sep 17 00:00:00 2001
From: giy <giy@omp-system.ru>
Date: Fri, 02 Sep 2022 14:16:56 +0300
Subject: [PATCH] Обновление до версии 2.9.0
---
QtVsTools.Core/QMake.cs | 30 ++++++++++++++++++++++--------
1 files changed, 22 insertions(+), 8 deletions(-)
diff --git a/QtVsTools.Core/QMake.cs b/QtVsTools.Core/QMake.cs
index 4c0a985..3ee46d5 100644
--- a/QtVsTools.Core/QMake.cs
+++ b/QtVsTools.Core/QMake.cs
@@ -32,23 +32,24 @@
using System.IO;
using System.Linq;
using System.Text;
-using QtVsTools.VisualStudio;
namespace QtVsTools.Core
{
+ using VisualStudio;
+
public abstract class QMake
{
public Dictionary<string, string> Vars { get; protected set; }
public string OutputFile { get; protected set; }
- public uint DebugLevel { get; protected set; }
+ private uint DebugLevel { get; set; }
public string TemplatePrefix { get; protected set; }
public bool Recursive { get; protected set; }
public string ProFile { get; protected set; }
public string Query { get; protected set; }
public bool DisableWarnings { get; set; }
- protected VersionInformation QtVersion { get; private set; }
- protected EnvDTE.DTE Dte { get; private set; }
+ protected VersionInformation QtVersion { get; }
+ private EnvDTE.DTE Dte { get; }
public QMake(VersionInformation qtVersion, EnvDTE.DTE dte = null)
{
@@ -196,14 +197,27 @@
exitCode = qmakeProc.ExitCode;
InfoExit(qmakeProc);
}
- } catch (Exception e) {
- ErrMsg(string.Format("Exception \"{0}\":\r\n{1}",
- e.Message,
- e.StackTrace));
+ } catch (Exception exception) {
+ exception.Log();
}
}
return exitCode;
}
+
+ public static bool Exists(string path)
+ {
+ var possibleQMakePaths = new[] {
+ // Path points to qmake.exe
+ path,
+ // Path points to folder containing qmake.exe
+ Path.Combine(path, "qmake.exe"),
+ // Path points to folder containing bin\qmake.exe
+ Path.Combine(path, "bin", "qmake.exe"),
+ };
+ return possibleQMakePaths.Where(p => File.Exists(p)
+ && Path.GetFileName(p).Equals("qmake.exe", StringComparison.OrdinalIgnoreCase))
+ .Any();
+ }
}
public class QMakeImport : QMake
--
Gitblit v1.9.1