Skip to content
Snippets Groups Projects
Select Git revision
  • main default protected
  • dev-smart-pointer-refactor-2
  • topics
  • outgoingmessagesviewer
  • qt6
  • dev-smart-pointer-refactor
  • gse-interface-dev
  • crash-report-dev
  • riccardo-dev
  • roccaraso2024
  • euroc2024
  • euroc2023
  • roccaraso2023
  • euroc-2021
14 results

CMakeLists.txt

Blame
  • 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()