Select Git revision
CMakeLists.txt
-
Alberto Nidasio authoredAlberto Nidasio authored
CMakeLists.txt 4.74 KiB
# Copyright (c) 2022 Skyward Experimental Rocketry
# Author: Damiano Amatruda, Alberto Nidasio
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
# THE SOFTWARE.
cmake_minimum_required(VERSION 3.16)
add_subdirectory(libs/mavlink-skyward-lib EXCLUDE_FROM_ALL)
project(SkywardHub)
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 REQUIRED COMPONENTS
Widgets
SerialPort
PrintSupport
3DCore 3DExtras 3DRender 3DInput
)
add_executable(groundstation
src/shared/Components/ContextMenuSeparator/ContextMenuSeparator.cpp
src/shared/Components/ModulesPicker/ModulesPicker.cpp
src/shared/Components/SaveConfigurationDialog/SaveConfigurationDialog.cpp
src/shared/Components/SubscriptionsPanel/SubscriptionsPanel.cpp
src/shared/Components/ToggleButton/ToggleButton.cpp
src/shared/Components/ErrorDisplayer/Error.cpp
src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp
src/shared/Components/FilterSelector/FilterSelector.cpp
src/shared/Core/EventHandler/EventHandler.cpp
src/shared/Core/Message/Field.cpp
src/shared/Core/Message/Filter.cpp
src/shared/Core/Message/Message.cpp
src/shared/Core/Message/Topic.cpp
src/shared/Core/MessageBroker/MessageBroker.cpp
src/shared/Core/Module/Module.cpp
src/shared/Core/ModulesManager/ModulesManager.cpp
src/shared/Core/QCustomPlot/QCustomPlot.cpp
src/shared/Core/SkywardHubCore.cpp
src/shared/Core/XmlObject.cpp
src/shared/Modules/CommandPad/CommandPad.cpp
src/shared/Modules/CommandPad/MessageFormElement.cpp
src/shared/Modules/CompactCommandPad/CompactCommandPad.cpp
src/shared/Modules/CompactCommandPad/CommandSelector.cpp
src/shared/Modules/CompactCommandPad/SendThread.cpp
src/shared/Modules/DefaultModule/DefaultModule.cpp
src/shared/Modules/Empty/EmptyModule.cpp
src/shared/Modules/FileStream/FileStreamModule.cpp
src/shared/Modules/Graph/Graph.cpp
src/shared/Modules/IncomingMessagesViewer/IncomingMessagesViewerModule.cpp
src/shared/Modules/MainWindow/SkywardHubMainWindow.cpp
src/shared/Modules/MainWindow/Window.cpp
src/shared/Modules/Mavlink/MavlinkCommandAdapter.cpp
src/shared/Modules/Mavlink/MavlinkModule.cpp
src/shared/Modules/Mavlink/MavlinkReader.cpp
src/shared/Modules/Mavlink/MavlinkRocketMsgTestingModule.cpp
src/shared/Modules/Mavlink/MavlinkWriter.cpp
src/shared/Modules/OutgoingMessagesViewer/OutgoingMessagesViewerModule.cpp
src/shared/Modules/SkywardHub/Deployer.cpp
src/shared/Modules/SkywardHub/DeployerPathPicker.cpp
src/shared/Modules/SkywardHub/PrefabDialog.cpp
src/shared/Modules/SkywardHub/PrefabViewElement.cpp
src/shared/Modules/SkywardHub/SkywardHubModule.cpp
src/shared/Modules/Splitter/Splitter.cpp
src/shared/Modules/OrientationVisualizer/OrientationVisualizer.cpp
src/shared/Modules/StateViewer/StateViewer.cpp
src/shared/Modules/Tabs/TabsModule.cpp
src/shared/Modules/Test/TestModule.cpp
src/shared/Modules/TimerController/TimerControllerModule.cpp
src/shared/Modules/ValuesConverterViewer/ValueElement.cpp
src/shared/Modules/ValuesConverterViewer/ValuesConverterViewerModule.cpp
src/shared/Modules/ValuesConverterViewer/ValuesViewerConfigPanel.cpp
src/shared/Modules/ModuleInfo.cpp
src/shared/Modules/ModulesList.cpp
src/entrypoints/groundstation/application.qrc
src/entrypoints/groundstation/main.cpp
)
target_include_directories(groundstation PRIVATE src/shared)
target_link_libraries(groundstation PUBLIC
Qt5::Widgets
Qt5::SerialPort
Qt5::PrintSupport
Qt5::3DCore
Qt5::3DExtras
Qt5::3DRender
Qt5::3DInput
Mavlink::Mavlink
)
if(APPLE)
set_target_properties(groundstation PROPERTIES MACOSX_BUNDLE TRUE)
endif()