forked from h4tr3d/cmakeprojectmanager2
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathcmaketoolchaininfo.cpp
70 lines (51 loc) · 1.78 KB
/
cmaketoolchaininfo.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "cmaketoolchaininfo.h"
#include <QMap>
#include <QDebug>
namespace CMakeProjectManager {
namespace {
} // ::<Empty>
QString CMakeToolchainInfo::arguments(const QString &userArguments, const QString &buildDirectory) const
{
QString result;
if (toolchainOverride != CMakeToolchainOverrideType::Disabled &&
userArguments.toLower().contains(QLatin1String("-dcmake_toolchain_file=")) == false) {
result += toolchainArgument(buildDirectory);
}
result += userArguments;
qDebug() << "Composed arguments: " << result;
return result;
}
QStringList CMakeToolchainInfo::arguments(const QStringList &userArguments, const QString &buildDirectory) const
{
QStringList result;
if (toolchainOverride != CMakeToolchainOverrideType::Disabled) {
if (userArguments.contains(QLatin1String("cmake_toolchain_file"), Qt::CaseInsensitive) == false) {
result << toolchainArgument(buildDirectory);
}
}
qDebug() << "Composed arguments: " << result;
return result;
}
QString CMakeToolchainInfo::toolchainArgument(const QString &buildDirectory) const
{
Q_UNUSED(buildDirectory);
QString result;
QString fileName;
if (toolchainOverride == CMakeToolchainOverrideType::File) {
fileName = toolchainFile;
}
if (fileName.isEmpty() == false)
result = QString(QLatin1String("-DCMAKE_TOOLCHAIN_FILE=%1 ")).arg(fileName);
return result;
}
bool CMakeToolchainInfo::operator==(const CMakeToolchainInfo &other) const
{
bool result = (toolchainOverride == other.toolchainOverride &&
toolchainFile == other.toolchainFile);
return result;
}
bool CMakeToolchainInfo::operator!=(const CMakeToolchainInfo &other) const
{
return !operator==(other);
}
} // ::CMakeProjectManager