diff --git a/.gitignore b/.gitignore
index 34a7ee7b706f048de564cc13faadd14d16c5c0b1..ffdfc5a1b258344c3c77b156362efcd922f899cd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,6 @@
SkywardHub.pro.user
SkywardHub.pro.user.*
.build
+build/**
**/.DS_Store
Deploy/*
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..13c7a13416a72d597d0c9824476839fd270ab7f5
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,76 @@
+cmake_minimum_required(VERSION 3.1.0)
+
+project(skywardhub VERSION 1.0.0 LANGUAGES CXX)
+
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+find_package(Qt5 COMPONENTS Widgets REQUIRED)
+find_package(Qt5 COMPONENTS SerialPort REQUIRED)
+find_package(Qt5 COMPONENTS PrintSupport REQUIRED)
+
+add_executable(skywardhub
+ Components/ContextMenuSeparator/contextmenuseparator.cpp
+ Components/ModulesPicker/modulespicker.cpp
+ Components/SaveConfigurationDialog/saveconfigurationdialog.cpp
+ Components/SubscriptionsPanel/subscriptionspanel.cpp
+ Components/ToggleButton/togglebutton.cpp
+ Components/ErrorDisplayer/error.cpp
+ Components/ErrorDisplayer/errordisplayer.cpp
+ Components/TopicAndFieldFilterSelector/topicandfieldfilterselector.cpp
+ Components/TopicFilterSelector/topicfilterselector.cpp
+ Core/Message/messagefield.cpp
+ Core/Message/modulemessage.cpp
+ Core/Message/topic.cpp
+ Core/Message/topicandfieldfilter.cpp
+ Core/Message/topicfilter.cpp
+ Core/QCustomPlot/QCustomPlot.cpp
+ Core/module.cpp
+ Core/moduleeventshandler.cpp
+ Core/modulemessagesbroker.cpp
+ Core/modulesmanager.cpp
+ Core/skywardhubcore.cpp
+ Core/xmlobject.cpp
+ Modules/CommandPad/CommandPad.cpp
+ Modules/CommandPad/MessageFormElement.cpp
+ Modules/CompactCommandPad/CompactCommandPad.cpp
+ Modules/CompactCommandPad/CommandSelector.cpp
+ Modules/DefaultModule/defaultmodule.cpp
+ Modules/Empty/emptymodule.cpp
+ Modules/FileStream/filestreammodule.cpp
+ Modules/Graph/Graph.cpp
+ Modules/IncomingMessagesViewer/incomingmessagesviewermodule.cpp
+ Modules/MainWindow/skywardhubmainwindow.cpp
+ Modules/MainWindow/window.cpp
+ Modules/Mavlink/mavlinkcommandadapter.cpp
+ Modules/Mavlink/mavlinkmodule.cpp
+ Modules/Mavlink/mavlinkreader.cpp
+ Modules/Mavlink/mavlinkrocketmsgtestingmodule.cpp
+ Modules/Mavlink/mavlinkwriter.cpp
+ Modules/OutgoingMessagesViewer/outgoingmessagesviewermodule.cpp
+ Modules/SkywardHub/deployer.cpp
+ Modules/SkywardHub/deployerpathpicker.cpp
+ Modules/SkywardHub/prefabdialog.cpp
+ Modules/SkywardHub/prefabviewelement.cpp
+ Modules/SkywardHub/skywardhubmodule.cpp
+ Modules/Splitter/Splitter.cpp
+ Modules/StateViewer/StateViewer.cpp
+ Modules/Tabs/tabsmodule.cpp
+ Modules/Test/testmodule.cpp
+ Modules/TimerController/timercontrollermodule.cpp
+ Modules/ValuesConverterViewer/valueelement.cpp
+ Modules/ValuesConverterViewer/valuesconverterviewermodule.cpp
+ Modules/ValuesConverterViewer/valuesviewerconfigpanel.cpp
+ Modules/moduleinfo.cpp
+ Modules/moduleslist.cpp
+ main.cpp
+ application.qrc
+)
+target_include_directories(skywardhub PRIVATE ./)
+target_link_libraries(skywardhub Qt5::Widgets)
+target_link_libraries(skywardhub Qt5::SerialPort)
+target_link_libraries(skywardhub Qt5::PrintSupport)
diff --git a/Components/ModulesPicker/modulespicker.h b/Components/ModulesPicker/modulespicker.h
index 24fb66000213e098dce286ff8e5f7903bc0501d2..53c3ee59fdbc6e329bf24f54f94238d731ff4888 100644
--- a/Components/ModulesPicker/modulespicker.h
+++ b/Components/ModulesPicker/modulespicker.h
@@ -1,20 +1,23 @@
#ifndef MODULESPICKER_H
#define MODULESPICKER_H
-#include <QWidget>
-#include <QSharedPointer>
-#include <QPushButton>
+#include <Core/module.h>
+
#include <QDialog>
-#include "Core/module.h"
+#include <QPushButton>
+#include <QSharedPointer>
+#include <QWidget>
-namespace Ui {
+namespace Ui
+{
class ModulesPicker;
}
-class ModulesPicker : public QDialog {
+class ModulesPicker : public QDialog
+{
Q_OBJECT
- public:
+public:
explicit ModulesPicker();
~ModulesPicker() override;
@@ -27,20 +30,20 @@ class ModulesPicker : public QDialog {
// XmlObject toXmlObject() override;
// void fromXmlObject(const XmlObject &xmlObject) override;
- signals:
+signals:
void moduleSelected(Module* selectedModule);
- protected:
+protected:
void createAndConnectUI();
void connectSlot(QPushButton* button);
void onCreateModuleButtonClick();
QPushButton* createButton(const QString& name);
- private:
+private:
void createSplitter(Qt::Orientation orientation);
Ui::ModulesPicker* ui;
Module** selectedModule = nullptr;
};
-#endif // MODULESPICKER_H
+#endif // MODULESPICKER_H
diff --git a/Core/Message/messagefield.cpp b/Core/Message/messagefield.cpp
index 3c126a67829ec14339e2560d650a9ae9c7ec7b93..ca15e21098cffa6838f8328d12b53ec6ec58f9db 100644
--- a/Core/Message/messagefield.cpp
+++ b/Core/Message/messagefield.cpp
@@ -255,6 +255,8 @@ bool MessageField::operator==(const MessageField& rhs) const {
case Type::EMPTY:
return true;
}
+
+ return false;
}
MessageField::Type MessageField::getType() const {