From 8486c75f03872aa7d67e1e73b3703cec2dd0a8d7 Mon Sep 17 00:00:00 2001 From: Alberto Nidasio <alberto.nidasio@skywarder.eu> Date: Wed, 14 Sep 2022 18:54:34 +0200 Subject: [PATCH] [CMake] Added basic CMake support --- .gitignore | 1 + CMakeLists.txt | 76 ++++++++++++++++++++++++ Components/ModulesPicker/modulespicker.h | 25 ++++---- Core/Message/messagefield.cpp | 2 + 4 files changed, 93 insertions(+), 11 deletions(-) create mode 100644 CMakeLists.txt diff --git a/.gitignore b/.gitignore index 34a7ee7b..ffdfc5a1 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 00000000..13c7a134 --- /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 24fb6600..53c3ee59 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 3c126a67..ca15e210 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 { -- GitLab