-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathmsvcmanager.h
More file actions
92 lines (72 loc) · 2.87 KB
/
msvcmanager.h
File metadata and controls
92 lines (72 loc) · 2.87 KB
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/* KDevelop MSVC Support
*
* Copyright 2015 Ennio Barbaro <enniobarbaro@gmail.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef MSVCMANAGER_H
#define MSVCMANAGER_H
#include <project/abstractfilemanagerplugin.h>
#include <project/interfaces/ibuildsystemmanager.h>
class MsvcBuilder;
class MsvcProjectManager : public KDevelop::AbstractFileManagerPlugin, public KDevelop::IBuildSystemManager
{
Q_OBJECT
Q_INTERFACES( KDevelop::IBuildSystemManager )
public:
explicit MsvcProjectManager(QObject * parent, const QVariantList &);
//BEGIN AbstractFileManager
KDevelop::ProjectFolderItem* import( KDevelop::IProject* project ) override;
KJob* createImportJob( KDevelop::ProjectFolderItem* item) override;
//END AbstractFileManager
//BEGIN IBuildSystemManager
KDevelop::IProjectBuilder* builder() const override;
KDevelop::Path::List includeDirectories(KDevelop::ProjectBaseItem*) const override;
QHash<QString,QString> defines(KDevelop::ProjectBaseItem*) const override;
bool hasIncludesOrDefines(KDevelop::ProjectBaseItem* item) const override;
int perProjectConfigPages() const override;
KDevelop::ConfigPage* perProjectConfigPage(int number,
const KDevelop::ProjectConfigOptions& options,
QWidget* parent) override;
KDevelop::ProjectTargetItem* createTarget( const QString&, KDevelop::ProjectFolderItem* ) override
{
return nullptr;
}
bool removeTarget( KDevelop::ProjectTargetItem* ) override
{
return false;
}
QList<KDevelop::ProjectTargetItem*> targets(KDevelop::ProjectFolderItem*) const override
{
return {};
}
bool addFilesToTarget(const QList<KDevelop::ProjectFileItem*>&, KDevelop::ProjectTargetItem*) override
{
return false;
}
bool removeFilesFromTargets(const QList<KDevelop::ProjectFileItem*>&) override
{
return false;
}
KDevelop::Path buildDirectory(KDevelop::ProjectBaseItem*) const override
{
return KDevelop::Path{};
}
//END IBuildSystemManager
private:
MsvcBuilder * m_builder = 0;
};
#endif //MSVCMANAGER_H