2022-08-19 15:59:36 +02:00
|
|
|
// Copyright (C) 2016 The Qt Company Ltd.
|
|
|
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
|
2008-12-02 14:09:21 +01:00
|
|
|
|
2016-01-27 10:14:00 +01:00
|
|
|
#pragma once
|
2008-12-02 12:01:29 +01:00
|
|
|
|
|
|
|
|
#include <extensionsystem/iplugin.h>
|
2019-02-21 14:59:57 +01:00
|
|
|
|
2021-06-18 08:46:38 +02:00
|
|
|
namespace ProjectExplorer { class Node; }
|
|
|
|
|
|
2008-12-02 12:01:29 +01:00
|
|
|
namespace CMakeProjectManager {
|
|
|
|
|
namespace Internal {
|
|
|
|
|
|
2020-04-17 15:30:05 +02:00
|
|
|
class CMakeSpecificSettings;
|
|
|
|
|
|
|
|
|
|
class CMakeProjectPlugin final : public ExtensionSystem::IPlugin
|
2008-12-02 12:01:29 +01:00
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
2012-02-21 16:52:28 +01:00
|
|
|
Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "CMakeProjectManager.json")
|
2008-12-02 12:01:29 +01:00
|
|
|
|
|
|
|
|
public:
|
2018-03-10 18:45:06 +01:00
|
|
|
static CMakeSpecificSettings *projectTypeSpecificSettings();
|
2020-04-17 15:30:05 +02:00
|
|
|
~CMakeProjectPlugin();
|
2013-07-10 21:43:49 +03:00
|
|
|
|
|
|
|
|
#ifdef WITH_TESTS
|
2016-02-10 14:32:01 +01:00
|
|
|
private slots:
|
2013-07-10 21:43:49 +03:00
|
|
|
void testCMakeParser_data();
|
|
|
|
|
void testCMakeParser();
|
2016-09-27 14:38:35 +02:00
|
|
|
|
|
|
|
|
void testCMakeSplitValue_data();
|
|
|
|
|
void testCMakeSplitValue();
|
2016-08-25 14:33:44 +02:00
|
|
|
|
|
|
|
|
void testCMakeProjectImporterQt_data();
|
|
|
|
|
void testCMakeProjectImporterQt();
|
|
|
|
|
|
|
|
|
|
void testCMakeProjectImporterToolChain_data();
|
|
|
|
|
void testCMakeProjectImporterToolChain();
|
2013-07-10 21:43:49 +03:00
|
|
|
#endif
|
2016-11-14 15:18:25 +01:00
|
|
|
|
|
|
|
|
private:
|
2020-11-18 15:26:38 +01:00
|
|
|
bool initialize(const QStringList &arguments, QString *errorMessage) final;
|
|
|
|
|
void extensionsInitialized() final;
|
2018-02-09 15:35:02 +01:00
|
|
|
|
2021-06-18 08:46:38 +02:00
|
|
|
void updateContextActions(ProjectExplorer::Node *node);
|
2016-11-14 15:18:25 +01:00
|
|
|
|
2018-02-09 15:35:02 +01:00
|
|
|
class CMakeProjectPluginPrivate *d = nullptr;
|
2008-12-02 12:01:29 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace Internal
|
2018-02-09 15:35:02 +01:00
|
|
|
} // namespace CMakeProjectManager
|