地面站终端 App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

885 lines
28 KiB

cmake_minimum_required (VERSION 2.6)
project (qgroundcontrol)
# marcos
macro(find_or_build_from_source PACKAGE PACKAGE_PATH)
add_custom_target(${PACKAGE})
if (NOT ${PACKAGE}_BUILD_FROM_SOURCE)
find_package(${PACKAGE})
endif()
if (NOT ${PACKAGE}_FOUND)
set(${PACKAGE}_BUILD_FROM_SOURCE TRUE)
message(STATUS "could not find package ${PACKAGE}, building from source")
add_custom_target(${PACKAGE}_BUILD DEPENDS ${PACKAGE}_BUILD.stamp)
add_dependencies(${PACKAGE} ${PACKAGE}_BUILD)
set(${PACKAGE}_FOUND TRUE)
endif()
endmacro(find_or_build_from_source)
macro(set_default VAR DEFAULT)
if (NOT DEFINED ${VAR})
set(${VAR} ${DEFAULT})
endif()
endmacro(set_default)
# check for out of source build
if("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}")
message(FATAL_ERROR "In-source builds are not allowed. For example run:
rm CMakeCache.txt
mkdir build
cd build
cmake ..
make")
endif()
# settings
set(qgroundcontrol_VERSION_MAJOR 0)
set(qgroundcontrol_VERSION_MINOR 8)
set(qgroundcontrol_VERSION_PATCH 3)
set(qgroundcontrol_SOVERSION 0)
set_default(MAVLINK_BUILD_FROM_SOURCE FALSE)
set_default(STATIC_LINKING FALSE)
set_default(IN_SRC_BUILD FALSE)
# built variables
set(qgroundcontrol_VERSION ${qgroundcontrol_VERSION_MAJOR}.${qgroundcontrol_VERSION_MINOR}.${qgroundcontrol_VERSION_PATCH})
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_PATH ${PROJECT_BINARY_DIR}/lib)
# only find static libraries
if(STATIC_LINKING)
message(WARNING "static linking is not yet tested and may have linking errors")
if(WIN32)
set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
else(WIN32)
set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
endif(WIN32)
endif()
# set build type
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
"Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
FORCE)
endif(NOT CMAKE_BUILD_TYPE)
# enable languages
enable_language(C)
enable_language(CXX)
# installer
include(InstallRequiredSystemLibraries)
set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-${qgroundcontrol_VERSION}-cpack")
set(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${qgroundcontrol_VERSION}-cpack")
set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${qgroundcontrol_VERSION}")
set(CPACK_GENERATOR "DEB")
set(CPACK_SOURCE_GENERATOR "TGZ")
set(CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
set(CPACK_SET_DESTDIR TRUE)
set(CPACK_PACKAGE_CONTACT "James Goppert james.goppert@gmail.com")
set(CPACK_PACKAGE_DESCRITION_SUMMARY "
QGroundControl
A qt based ground-control program for unmanned systems.
")
set(CPACK_SOURCE_IGNORE_FILES ${CPACK_SOURCE_IGNORE_FILES}
"/.git/";"/build/";"~$";".*\\\\.bin$";".*\\\\.swp$"
)
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/license.txt")
set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README")
set(CPACK_PACKAGE_VERSION_MAJOR ${qgroundcontrol_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${qgroundcontrol_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${qgroundcontrol_VERSION_PATCH})
include(CPack)
# add make dist target
add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
# find libraries with cmake modules
find_package(Qt4 COMPONENTS QtGui QtCore QtNetwork QtOpenGL QtSVG QtXML QtPhonon QtWebKit REQUIRED)
set(PHONON_FIND_QUIETLY FALSE)
find_package(Phonon)
find_package(SDL REQUIRED)
if (UNIX)
find_package(Flite)
endif(UNIX)
find_package(OpenGL REQUIRED)
find_package(OpenSceneGraph 2.9.9 COMPONENTS osgGA osgDB osgUtil osgViewer)
if ("OSG_LIBRARY-NOTFOUND" STREQUAL "${OSG_LIBRARY}")
set(OPENSCENEGRAPH_FOUND FALSE)
else()
set(OPENSCENEGRAPH_FOUND TRUE)
endif()
find_or_build_from_source(MAVLINK thirdParty/mavlink)
find_or_build_from_source(QSERIALPORT thirdParty/qserialport)
# build libraries from source if not found on system
if(MAVLINK_BUILD_FROM_SOURCE)
set(MAVLINK_INCLUDE_DIRS
${PROJECT_SOURCE_DIR}/thirdParty/mavlink/include
${PROJECT_SOURCE_DIR}/thirdParty/mavlink/include/common
${PROJECT_SOURCE_DIR}/thirdParty/mavlink/include/pixhawk
${PROJECT_SOURCE_DIR}/thirdParty/mavlink/include/slugs
${PROJECT_SOURCE_DIR}/thirdParty/mavlink/include/ualberta
${PROJECT_SOURCE_DIR}/thirdParty/mavlink/include/ardupilotmega
)
add_custom_command(OUTPUT MAVLINK_BUILD.stamp
COMMAND touch MAVLINK_BUILD.stamp)
endif()
if(QSERIALPORT_BUILD_FROM_SOURCE)
# qserialport headers without Q_OBJECT
# r !grep -RL Q_OBJECT thirdParty/qserialport/include
set (qserialportHdrs
thirdParty/qserialport/include/QtSerialPort/qserialport_export.h
thirdParty/qserialport/include/QtSerialPort/qserialport
thirdParty/qserialport/include/QtSerialPort/qportsettings.h
)
# qserialport headers with Q_OBJECT
# r !grep -Rl Q_OBJECT thirdParty/qserialport
set (qserialportMocSrc
thirdParty/qserialport/include/QtSerialPort/qserialport.h
thirdParty/qserialport/include/QtSerialPort/qserialportnative.h
)
# qserialport src
set (qserialportSrc
thirdParty/qserialport/src/common/qserialport.cpp
thirdParty/qserialport/src/common/qportsettings.cpp
)
# qserialport native code
if (WIN32)
list(APPEND qserialportHdrs
thirdParty/qserialport/src/win32/commdcbhelper.h
)
list(APPEND qserialportMocSrc
thirdParty/qserialport/src/win32/qwincommevtnotifier.h
thirdParty/qserialport/src/win32/wincommevtbreaker.h
)
list(APPEND qserialportSrc
thirdParty/qserialport/src/win32/qserialportnative_win32.cpp
thirdParty/qserialport/src/win32/commdcbhelper.cpp
thirdParty/qserialport/src/win32/qwincommevtnotifier.cpp
#thirdParty/qserialport/src/win32/qserialportnative_wince.cpp
#thirdParty/qserialport/src/win32/wincommevtbreaker.cpp
)
elseif(UNIX OR APPLE)
list(APPEND qserialportHdrs
thirdParty/qserialport/src/posix/termioshelper.h
)
list(APPEND qserialportSrc
thirdParty/qserialport/src/posix/termioshelper.cpp
thirdParty/qserialport/src/posix/qserialportnative_posix.cpp
)
else()
message(FATAL_ERROR "unknown OS")
endif()
# qserialport linking
qt4_wrap_cpp(qserialportMoc ${qserialportMocSrc})
add_library(qserialport ${qserialportMoc} ${qserialportSrc})
target_link_libraries(qserialport ${QT_LIBRARIES})
set(QSERIALPORT_INCLUDE_DIRS
${PROJECT_SOURCE_DIR}/thirdParty/qserialport/include
${PROJECT_SOURCE_DIR}/thirdParty/qserialport/include/QtSerialPort
${PROJECT_SOURCE_DIR}/thirdParty/qserialport/src
)
set(QSERIALPORT_LIBRARIES qserialport)
add_custom_command(OUTPUT qserialport_BUILD.stamp
COMMAND touch qserialport_BUILD.stamp)
endif()
# data directory
if(IN_SRC_BUILD)
message(STATUS "configuring for in source build")
set(DATADIR ${PROJECT_SOURCE_DIR}/data)
set(LIBDIR ${CMAKE_SOURCE_DIR}/data)
set(BINDIR ${CMAKE_BINARY_DIR}/bin)
else()
message(STATUS "configuring for install build")
set(DATADIR ${CMAKE_INSTALL_PREFIX}/share/qgroundcontrol/data)
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
set(BINDIR ${CMAKE_INSTALL_PREFIX}/bin)
endif()
# install data files
install(DIRECTORY "${PROJECT_SOURCE_DIR}/data"
DESTINATION share/qgroundcontrol
PATTERN "*.git*" EXCLUDE)
# include directories
set(qgroundcontrolIncludes
src
src/ui
src/ui/linechart
src/ui/uas
src/ui/map
src/ui/map3D
src/uas
src/comm
include/ui
src/input
src/lib/qmapcontrol
src/ui/mavlink
src/ui/param
src/ui/watchdog
src/ui/map3D
src/ui/designer
src/lib/qextserialport
src/lib/qwt
lib/QMapControl
${PROJECT_BINARY_DIR}
)
set (qgroundcontrolLibs)
# dependency summary
message(STATUS "=======================================")
message(STATUS "\tDEPENDENCY\t\tFOUND")
message(STATUS "=======================================")
# common dependencies
message(STATUS "\t\tMAVLINK\t\t${MAVLINK_FOUND}")
if (MAVLINK_FOUND)
list(APPEND qgroundcontrolIncludes ${MAVLINK_INCLUDE_DIRS})
endif()
message(STATUS "\t\tqserialport\t${QSERIALPORT_FOUND}")
if (QSERIALPORT_FOUND)
list(APPEND qgroundcontrolIncludes ${QSERIALPORT_INCLUDE_DIRS})
list(APPEND qgroundcontrolLibs ${QSERIALPORT_LIBRARIES})
endif()
message(STATUS "\t\tOpenSceneGraph\t${OPENSCENEGRAPH_FOUND}")
if (OPENSCENEGRAPH_FOUND)
list(APPEND qgroundcontrolIncludes ${OPENSCENEGRAPH_INCLUDE_DIRS})
list(APPEND qgroundcontrolLibs ${OPENSCENEGRAPH_LIBRARIES})
endif()
message(STATUS "\t\tQT4\t\t${QT4_FOUND}")
if (QT4_FOUND)
list(APPEND qgroundcontrolIncludes ${QT_INCLUDE_DIRS})
list(APPEND qgroundcontrolLibs ${QT_LIBRARIES})
endif()
message(STATUS "\t\tPHONON\t\t${PHONON_FOUND}")
if (PHONON_FOUND)
list(APPEND qgroundcontrolIncludes ${PHONON_INCLUDES})
list(APPEND qgroundcontrolLibs ${PHONON_LIBS})
endif()
message(STATUS "\t\tSDL\t\t${SDL_FOUND}")
if (SDL_FOUND)
list(APPEND qgroundcontrolIncludes ${SDL_INCLUDE_DIR})
list(APPEND qgroundcontrolLibs ${SDL_LIBRARY})
endif()
message(STATUS "\t\tOPENGL\t\t${OPENGL_FOUND}")
if (OPENGL_FOUND)
list(APPEND qgroundcontrolIncludes ${OPENGL_INCLUDE_DIR})
list(APPEND qgroundcontrolLibs ${OPENGL_LIBRARIES})
endif()
# unix only dependencies
if (UNIX)
message(STATUS "\t\tFLITE\t\t${FLITE_FOUND}")
if (FLITE_FOUND)
list(APPEND qgroundcontrolIncludes ${FLITE_INCLUDE_DIR})
list(APPEND qgroundcontrolLibs ${FLITE_LIBRARIES})
endif ()
endif()
# set include directories
include_directories(${qgroundcontrolIncludes})
message(STATUS "=======================================")
# project flags
include (${QT_USE_FILE})
set (commonLibs
)
add_definitions(-D_TTY_POSIX_)
# qgrouncontrol forms
set(qgroundcontrolUiSrc
src/ui/MainWindow.ui
src/ui/CommSettings.ui
src/ui/SerialSettings.ui
src/ui/UASControl.ui
src/ui/UASList.ui
src/ui/UASInfo.ui
src/ui/Linechart.ui
src/ui/UASView.ui
src/ui/ParameterInterface.ui
src/ui/WaypointList.ui
src/ui/WaypointView.ui
src/ui/ObjectDetectionView.ui
src/ui/JoystickWidget.ui
src/ui/DebugConsole.ui
src/ui/MapWidget.ui
src/ui/XMLCommProtocolWidget.ui
src/ui/HDDisplay.ui
src/ui/MAVLinkSettingsWidget.ui
src/ui/AudioOutputWidget.ui
src/ui/designer/QGCCommandButton.ui
src/ui/QGCSensorSettingsWidget.ui
src/ui/watchdog/WatchdogControl.ui
src/ui/watchdog/WatchdogProcessView.ui
src/ui/watchdog/WatchdogView.ui
src/ui/QGCFirmwareUpdate.ui
src/ui/QGCPxImuFirmwareUpdate.ui
src/ui/QGCDataPlot2D.ui
src/ui/QGCRemoteControlView.ui
src/ui/QMap3D.ui
src/ui/QGCWebView.ui
#src/ui/map3D/QGCGoogleEarthView.ui
src/ui/SlugsDataSensorView.ui
src/ui/SlugsHilSim.ui
#src/ui/SlugsPIDControl.ui
#src/ui/SlugsVideoCamControl.ui
src/ui/SlugsPadCameraControl.ui
src/ui/uas/QGCUnconnectedInfoWidget.ui
src/ui/designer/QGCToolWidget.ui
src/ui/designer/QGCParamSlider.ui
src/ui/designer/QGCActionButton.ui
src/ui/QGCMAVLinkLogPlayer.ui
src/ui/QGCWaypointListMulti.ui
src/ui/mission/QGCCustomWaypointAction.ui
src/ui/QGCUDPLinkConfiguration.ui
src/ui/UASControlParameters.ui
src/ui/QGCSettingsWidget.ui
)
# qgroundcontrol headers without Q_OBJECT
# r !grep -RL Q_OBJECT src | grep "^.*\.[h|hpp]$" | sed -e "s/^/\t/g"
set (qgroundcontrolHdrs
src/QGC.h
src/configuration.h
src/comm/OpalRT.h
src/comm/ParameterList.h
src/comm/Parameter.h
src/comm/QGCParamID.h
src/comm/QGCMAVLink.h
src/MG.h
src/ui/map3D/WebImage.h
src/ui/map3D/PixhawkCheetahGeode.h
src/ui/map3D/WaypointGroupNode.h
src/ui/map3D/ImageWindowGeode.h
src/ui/map3D/Imagery.h
src/ui/map3D/QGCGlut.h
src/ui/map3D/HUDScaleGeode.h
src/ui/map3D/Texture.h
src/ui/map3D/GCManipulator.h
src/ui/map3D/Q3DWidgetFactory.h
src/ui/map3D/TextureCache.h
src/ui/map3D/QOSGWidget.h
src/ui/map/Waypoint2DIcon.h
src/ui/map/MAV2DIcon.h
src/ui/OgreWidget.h
src/ui/generated/ObjectDetectionView.h
src/ui/generated/MAVLinkSettingsWidget.h
src/ui/generated/SerialSettings.h
src/ui/generated/WaypointView.h
src/ui/generated/LineChart.h
src/ui/generated/UASList.h
src/ui/generated/UASInfo.h
src/ui/generated/MainWindow.h
src/ui/generated/DebugConsole.h
src/ui/generated/XMLCommProtocolWidget.h
src/ui/generated/WatchdogView.h
src/ui/generated/WatchdogControl.h
src/ui/generated/UASControl.h
src/ui/generated/WatchdogProcessView.h
src/ui/generated/ParameterInterface.h
src/ui/generated/HDDisplay.h
src/ui/generated/WaypointList.h
src/ui/generated/JoystickWidget.h
src/ui/generated/QGCSensorSettingsWidget.h
src/ui/generated/MapWidget.h
src/ui/generated/AudioOutputWidget.h
src/ui/generated/UASView.h
src/ui/generated/CommSettings.h
src/input/Freenect.h
)
# qgroundcontrol headers with Q_OBJECT
# r !grep -Rl Q_OBJECT src | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set(qgroundcontrolMocSrc
src/Core.h
src/uas/ArduPilotMegaMAV.h
src/uas/PxQuadMAV.h
src/uas/QGCMAVLinkUASFactory.h
src/uas/QGCUASParamManager.h
src/uas/SlugsMAV.h
src/uas/UAS.h
src/uas/UASInterface.h
src/uas/UASManager.h
src/uas/UASWaypointManager.h
src/Waypoint.h
src/LogCompressor.h
src/GAudioOutput.h
src/comm/AS4Protocol.h
src/comm/MAVLinkSwarmSimulationLink.h
src/comm/ProtocolInterface.h
#src/comm/OpalLink.h
src/comm/MAVLinkProtocol.h
src/comm/SerialLinkInterface.h
src/comm/SerialInterface.h
src/comm/UDPLink.h
src/comm/LinkManager.h
src/comm/LinkInterface.h
src/comm/MAVLinkSimulationLink.h
src/comm/SerialSimulationLink.h
src/comm/MAVLinkSimulationWaypointPlanner.h
src/comm/MAVLinkSimulationMAV.h
#src/comm/QGCNMEAProtocol.h
src/comm/SerialLink.h
src/ui/uas/UASControlParameters.h
src/ui/QGCSettingsWidget.h
#src/ui/map3D/WebImageCache.h
#src/ui/map3D/QGCGoogleEarthView.h
src/ui/map3D/QMap3D.h
#src/ui/map3D/Pixhawk3DWidget.h
#src/ui/map3D/Q3DWidget.h
src/ui/map3D/QGCWebPage.h
src/ui/ObjectDetectionView.h
src/ui/SerialConfigurationWindow.h
src/ui/designer/QGCCommandButton.h
src/ui/QGCFirmwareUpdate.h
src/ui/CommConfigurationWindow.h
src/ui/MAVLinkSettingsWidget.h
src/ui/SlugsDataSensorView.h
src/ui/WaypointView.h
src/ui/QGCPxImuFirmwareUpdate.h
src/ui/QGCWebView.h
src/ui/QGCDataPlot2D.h
src/ui/HSIDisplay.h
src/ui/SlugsPadCameraControl.h
src/ui/QGCMainWindowAPConfigurator.h
src/ui/MainWindow.h
#src/ui/SlugsVideoCamControl.h
src/ui/DebugConsole.h
src/ui/XMLCommProtocolWidget.h
src/ui/uas/UASListWidget.h
src/ui/uas/UASInfoWidget.h
src/ui/uas/QGCUnconnectedInfoWidget.h
src/ui/uas/UASControlWidget.h
src/ui/uas/UASView.h
#src/ui/SlugsPIDControl.h
src/ui/HUD.h
src/ui/RadioCalibration/RadioCalibrationWindow.h
src/ui/RadioCalibration/RadioCalibrationData.h
src/ui/RadioCalibration/SwitchCalibrator.h
src/ui/RadioCalibration/AbstractCalibrator.h
src/ui/RadioCalibration/CurveCalibrator.h
src/ui/RadioCalibration/AirfoilServoCalibrator.h
src/ui/ParameterInterface.h
src/ui/linechart/LinechartWidget.h
src/ui/linechart/IncrementalPlot.h
src/ui/linechart/Scrollbar.h
src/ui/linechart/Linecharts.h
src/ui/linechart/ScrollZoomer.h
src/ui/linechart/LinechartPlot.h
src/ui/HDDisplay.h
src/ui/watchdog/WatchdogView.h
src/ui/watchdog/WatchdogControl.h
src/ui/watchdog/WatchdogProcessView.h
src/ui/QGCMAVLinkLogPlayer.h
src/ui/QGCUDPLinkConfiguration.h
#src/ui/OpalLinkConfigurationWindow.h
src/ui/SlugsHilSim.h
src/ui/WaypointList.h
src/ui/JoystickWidget.h
src/ui/QGCWaypointListMulti.h
src/ui/CameraView.h
src/ui/QGCSensorSettingsWidget.h
src/ui/designer/QGCToolWidgetItem.h
src/ui/designer/QGCParamSlider.h
src/ui/designer/QGCActionButton.h
src/ui/designer/QGCToolWidget.h
src/ui/QGCParamWidget.h
src/ui/MapWidget.h
src/ui/QGCRemoteControlView.h
src/ui/AudioOutputWidget.h
#src/standalone/mavlinkgen/MAVLinkGen.h
src/input/JoystickInput.h
)
# qgroundcontrol source
set (qgroundcontrolSrc
src/main.cc
src/Core.cc
src/GAudioOutput.cc
src/LogCompressor.cc
src/QGC.cc
src/Waypoint.cc
src/comm/AS4Protocol.cc
src/comm/LinkManager.cc
src/comm/MAVLinkProtocol.cc
src/comm/MAVLinkSimulationLink.cc
src/comm/MAVLinkSimulationMAV.cc
src/comm/MAVLinkSimulationWaypointPlanner.cc
src/comm/MAVLinkSwarmSimulationLink.cc
src/comm/SerialLink.cc
src/comm/SerialSimulationLink.cc
src/comm/UDPLink.cc
src/input/JoystickInput.cc
src/uas/ArduPilotMegaMAV.cc
src/uas/PxQuadMAV.cc
src/uas/QGCMAVLinkUASFactory.cc
src/uas/QGCUASParamManager.cc
src/uas/SlugsMAV.cc
src/uas/UAS.cc
src/uas/UASManager.cc
src/uas/UASWaypointManager.cc
src/ui/AudioOutputWidget.cc
src/ui/CameraView.cc
src/ui/CommConfigurationWindow.cc
src/ui/DebugConsole.cc
src/ui/HDDisplay.cc
src/ui/HSIDisplay.cc
src/ui/HUD.cc
src/ui/JoystickWidget.cc
src/ui/MAVLinkSettingsWidget.cc
src/ui/MainWindow.cc
src/ui/MapWidget.cc
src/ui/ObjectDetectionView.cc
src/ui/ParameterInterface.cc
src/ui/QGCDataPlot2D.cc
src/ui/designer/QGCCommandButton.cc
src/ui/QGCFirmwareUpdate.cc
src/ui/QGCMAVLinkLogPlayer.cc
src/ui/QGCMainWindowAPConfigurator.cc
src/ui/QGCParamWidget.cc
src/ui/QGCPxImuFirmwareUpdate.cc
src/ui/QGCRemoteControlView.cc
src/ui/QGCSensorSettingsWidget.cc
src/ui/uas/UASControlParameters.cpp
src/ui/QGCSettingsWidget.cc
src/ui/QGCUDPLinkConfiguration.cc
src/ui/QGCWaypointListMulti.cc
src/ui/QGCWebView.cc
src/ui/RadioCalibration/AbstractCalibrator.cc
src/ui/RadioCalibration/AirfoilServoCalibrator.cc
src/ui/RadioCalibration/CurveCalibrator.cc
src/ui/RadioCalibration/RadioCalibrationData.cc
src/ui/RadioCalibration/RadioCalibrationWindow.cc
src/ui/RadioCalibration/SwitchCalibrator.cc
src/ui/SerialConfigurationWindow.cc
src/ui/SlugsDataSensorView.cc
src/ui/SlugsHilSim.cc
#src/ui/SlugsPIDControl.cpp
src/ui/SlugsPadCameraControl.cpp
#src/ui/SlugsVideoCamControl.cpp
src/ui/WaypointList.cc
src/ui/WaypointView.cc
src/ui/designer/QGCActionButton.cc
src/ui/designer/QGCParamSlider.cc
src/ui/designer/QGCToolWidget.cc
src/ui/designer/QGCToolWidgetItem.cc
src/ui/linechart/IncrementalPlot.cc
src/ui/linechart/LinechartPlot.cc
src/ui/linechart/LinechartWidget.cc
src/ui/linechart/Linecharts.cc
src/ui/linechart/ScrollZoomer.cc
src/ui/linechart/Scrollbar.cc
src/ui/map/MAV2DIcon.cc
src/ui/map/Waypoint2DIcon.cc
src/ui/map3D/QGCWebPage.cc
src/ui/uas/QGCUnconnectedInfoWidget.cc
src/ui/uas/UASControlWidget.cc
src/ui/uas/UASInfoWidget.cc
src/ui/uas/UASListWidget.cc
src/ui/uas/UASView.cc
src/ui/watchdog/WatchdogControl.cc
src/ui/watchdog/WatchdogProcessView.cc
src/ui/watchdog/WatchdogView.cc
)
# qgroundcontrol resource files
set(qgroundcontrolRscSrc mavground.qrc)
# qgroundcontrol linking
qt4_wrap_cpp(qgroundcontrolMoc ${qgroundcontrolMocSrc})
qt4_wrap_ui(qgroundcontrolUi ${qgroundcontrolUiSrc})
qt4_add_resources(qgroundcontrolRsc ${qgroundcontrolRscSrc})
add_executable(qgroundcontrol
${qgroundcontrolSrc}
${qgroundcontrolMoc}
${qgroundcontrolUi}
${qgroundcontrolRsc}
)
add_dependencies(qgroundcontrol MAVLINK)
target_link_libraries(qgroundcontrol
${qgroundcontrolLibs}
qextserialport qmapcontrol qwt)
# qgroundcontrol install
install(TARGETS qgroundcontrol DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
# qwt library
#----------------------------------------------------------------------------
# qwt headers without Q_OBJECT
# r !grep -L Q_OBJECT src/lib/qwt | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set (qwtHdrs
src/lib/qwt/qwt_abstract_scale_draw.h
src/lib/qwt/qwt_abstract_scale.h
src/lib/qwt/qwt_array.h
src/lib/qwt/qwt_arrow_button.h
src/lib/qwt/qwt_clipper.h
src/lib/qwt/qwt_color_map.h
src/lib/qwt/qwt_compass_rose.h
src/lib/qwt/qwt_curve_fitter.h
src/lib/qwt/qwt_data.h
src/lib/qwt/qwt_dial_needle.h
src/lib/qwt/qwt_double_interval.h
src/lib/qwt/qwt_double_range.h
src/lib/qwt/qwt_double_rect.h
src/lib/qwt/qwt_event_pattern.h
src/lib/qwt/qwt_global.h
src/lib/qwt/qwt.h
src/lib/qwt/qwt_interval_data.h
src/lib/qwt/qwt_layout_metrics.h
src/lib/qwt/qwt_legend_itemmanager.h
src/lib/qwt/qwt_math.h
src/lib/qwt/qwt_paint_buffer.h
src/lib/qwt/qwt_painter.h
src/lib/qwt/qwt_picker_machine.h
src/lib/qwt/qwt_plot_curve.h
src/lib/qwt/qwt_plot_dict.h
src/lib/qwt/qwt_plot_grid.h
src/lib/qwt/qwt_plot_item.h
src/lib/qwt/qwt_plot_layout.h
src/lib/qwt/qwt_plot_marker.h
src/lib/qwt/qwt_plot_printfilter.h
src/lib/qwt/qwt_plot_rasteritem.h
src/lib/qwt/qwt_plot_scaleitem.h
src/lib/qwt/qwt_plot_spectrogram.h
src/lib/qwt/qwt_plot_svgitem.h
src/lib/qwt/qwt_polygon.h
src/lib/qwt/qwt_raster_data.h
src/lib/qwt/qwt_rect.h
src/lib/qwt/qwt_round_scale_draw.h
src/lib/qwt/qwt_scale_div.h
src/lib/qwt/qwt_scale_draw.h
src/lib/qwt/qwt_scale_engine.h
src/lib/qwt/qwt_scale_map.h
src/lib/qwt/qwt_spline.h
src/lib/qwt/qwt_symbol.h
src/lib/qwt/qwt_text_engine.h
src/lib/qwt/qwt_text.h
src/lib/qwt/qwt_valuelist.h
)
# qwt headers with Q_OBJECT
# r !grep -l Q_OBJECT src/lib/qwt | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set (qwtMocSrc
src/lib/qwt/qwt_abstract_slider.h
src/lib/qwt/qwt_analog_clock.h
src/lib/qwt/qwt_compass.h
src/lib/qwt/qwt_counter.h
src/lib/qwt/qwt_dial.h
src/lib/qwt/qwt_dyngrid_layout.h
src/lib/qwt/qwt_knob.h
src/lib/qwt/qwt_legend.h
src/lib/qwt/qwt_legend_item.h
src/lib/qwt/qwt_magnifier.h
src/lib/qwt/qwt_panner.h
src/lib/qwt/qwt_picker.h
src/lib/qwt/qwt_plot_canvas.h
src/lib/qwt/qwt_plot.h
src/lib/qwt/qwt_plot_magnifier.h
src/lib/qwt/qwt_plot_panner.h
src/lib/qwt/qwt_plot_picker.h
src/lib/qwt/qwt_plot_zoomer.h
src/lib/qwt/qwt_scale_widget.h
src/lib/qwt/qwt_slider.h
src/lib/qwt/qwt_text_label.h
src/lib/qwt/qwt_thermo.h
src/lib/qwt/qwt_wheel.h
)
# qwt source
set (qwtSrc
src/lib/qwt/qwt_plot_magnifier.cpp
src/lib/qwt/qwt_plot_curve.cpp
src/lib/qwt/qwt_panner.cpp
src/lib/qwt/qwt_round_scale_draw.cpp
src/lib/qwt/qwt_clipper.cpp
src/lib/qwt/qwt_plot_printfilter.cpp
src/lib/qwt/qwt_data.cpp
src/lib/qwt/qwt_text_engine.cpp
src/lib/qwt/qwt_dial.cpp
src/lib/qwt/qwt_plot_rasteritem.cpp
src/lib/qwt/qwt_spline.cpp
src/lib/qwt/qwt_rect.cpp
src/lib/qwt/qwt_plot_canvas.cpp
src/lib/qwt/qwt_magnifier.cpp
src/lib/qwt/qwt_analog_clock.cpp
src/lib/qwt/qwt_knob.cpp
src/lib/qwt/qwt_counter.cpp
src/lib/qwt/qwt_plot_axis.cpp
src/lib/qwt/qwt_interval_data.cpp
src/lib/qwt/qwt_scale_map.cpp
src/lib/qwt/qwt_slider.cpp
src/lib/qwt/qwt_compass_rose.cpp
src/lib/qwt/qwt_plot_print.cpp
src/lib/qwt/qwt_plot_layout.cpp
src/lib/qwt/qwt_abstract_scale_draw.cpp
src/lib/qwt/qwt_abstract_slider.cpp
src/lib/qwt/qwt_picker.cpp
src/lib/qwt/qwt_raster_data.cpp
src/lib/qwt/qwt_picker_machine.cpp
src/lib/qwt/qwt_plot_marker.cpp
src/lib/qwt/qwt_scale_draw.cpp
src/lib/qwt/qwt_thermo.cpp
src/lib/qwt/qwt_layout_metrics.cpp
src/lib/qwt/qwt_dial_needle.cpp
src/lib/qwt/qwt_plot_xml.cpp
src/lib/qwt/qwt_legend.cpp
src/lib/qwt/qwt_plot_picker.cpp
src/lib/qwt/qwt_event_pattern.cpp
src/lib/qwt/qwt_curve_fitter.cpp
src/lib/qwt/qwt_double_range.cpp
src/lib/qwt/qwt_painter.cpp
src/lib/qwt/qwt_double_interval.cpp
src/lib/qwt/qwt_math.cpp
src/lib/qwt/qwt_plot_item.cpp
src/lib/qwt/qwt_plot_zoomer.cpp
src/lib/qwt/qwt_symbol.cpp
src/lib/qwt/qwt_scale_div.cpp
src/lib/qwt/qwt_color_map.cpp
src/lib/qwt/qwt_plot.cpp
src/lib/qwt/qwt_plot_spectrogram.cpp
src/lib/qwt/qwt_paint_buffer.cpp
src/lib/qwt/qwt_plot_dict.cpp
src/lib/qwt/qwt_scale_widget.cpp
src/lib/qwt/qwt_text.cpp
src/lib/qwt/qwt_dyngrid_layout.cpp
src/lib/qwt/qwt_abstract_scale.cpp
src/lib/qwt/qwt_plot_svgitem.cpp
src/lib/qwt/qwt_arrow_button.cpp
src/lib/qwt/qwt_double_rect.cpp
src/lib/qwt/qwt_compass.cpp
src/lib/qwt/qwt_wheel.cpp
src/lib/qwt/qwt_legend_item.cpp
src/lib/qwt/qwt_plot_scaleitem.cpp
src/lib/qwt/qwt_text_label.cpp
src/lib/qwt/qwt_plot_panner.cpp
src/lib/qwt/qwt_scale_engine.cpp
src/lib/qwt/qwt_plot_grid.cpp
)
# qwt linking
qt4_wrap_cpp(qwtMoc ${qwtMocSrc})
add_library(qwt ${qwtMoc} ${qwtSrc})
target_link_libraries(qwt ${QT_LIBRARIES})
# qextserialport library
#----------------------------------------------------------------------------
# qextserialport headers without Q_OBJECT
# r !grep -RL Q_OBJECT src/lib/qextserialport | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set (qextserialportHdrs
src/lib/qextserialport/posix_qextserialport.h
src/lib/qextserialport/qextserialenumerator.h
)
# qextserialport headers with Q_OBJECT
# r !grep -Rl Q_OBJECT src/lib/qextserialport | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set (qextserialportMocSrc
src/lib/qextserialport/qextserialbase.h
src/lib/qextserialport/qextserialport.h
#src/lib/qextserialport/win_qextserialport.h
)
# qextserialport src
set (qextserialportSrc
src/lib/qextserialport/posix_qextserialport.cpp
src/lib/qextserialport/qextserialport.cpp
src/lib/qextserialport/qextserialbase.cpp
#src/lib/qextserialport/win_qextserialport.cpp
src/lib/qextserialport/qextserialenumerator.cpp
)
# qextserial linking
qt4_wrap_cpp(qextserialportMoc ${qextserialportMocSrc})
add_library(qextserialport ${qextserialportMoc} ${qextserialportSrc})
target_link_libraries(qextserialport ${QT_LIBRARIES})
# qmapcontrol library
#----------------------------------------------------------------------------
# qmapcontrol headers without Q_OBJECT
# r !grep -RL Q_OBJECT lib/QMapControl | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set (qmapcontrolHdrs
lib/QMapControl/src/circlepoint.h
lib/QMapControl/src/wmsmapadapter.h
lib/QMapControl/src/gps_position.h
lib/QMapControl/src/fixedimageoverlay.h
lib/QMapControl/src/imagepoint.h
lib/QMapControl/qmapcontrol.h
)
# qmapcontorl headers with Q_OBJECT
# r !grep -Rl Q_OBJECT lib/QMapControl | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g"
set (qmapcontrolMocSrc
lib/QMapControl/src/googlemapadapter.h
lib/QMapControl/src/mapnetwork.h
lib/QMapControl/src/mapadapter.h
lib/QMapControl/src/geometrylayer.h
lib/QMapControl/src/linestring.h
lib/QMapControl/src/mapcontrol.h
lib/QMapControl/src/tilemapadapter.h
lib/QMapControl/src/curve.h
lib/QMapControl/src/imagemanager.h
lib/QMapControl/src/layer.h
lib/QMapControl/src/maplayer.h
lib/QMapControl/src/geometry.h
lib/QMapControl/src/googlesatmapadapter.h
lib/QMapControl/src/point.h
lib/QMapControl/src/osmmapadapter.h
lib/QMapControl/src/layermanager.h
lib/QMapControl/src/openaerialmapadapter.h
lib/QMapControl/src/emptymapadapter.h
lib/QMapControl/src/yahoomapadapter.h
)
# qmapcontrol source
set (qmapcontrolSrc
lib/QMapControl/src/point.cpp
lib/QMapControl/src/imagepoint.cpp
lib/QMapControl/src/yahoomapadapter.cpp
lib/QMapControl/src/layermanager.cpp
lib/QMapControl/src/circlepoint.cpp
lib/QMapControl/src/imagemanager.cpp
lib/QMapControl/src/maplayer.cpp
lib/QMapControl/src/geometrylayer.cpp
lib/QMapControl/src/mapadapter.cpp
lib/QMapControl/src/mapnetwork.cpp
lib/QMapControl/src/linestring.cpp
lib/QMapControl/src/osmmapadapter.cpp
lib/QMapControl/src/fixedimageoverlay.cpp
lib/QMapControl/src/layer.cpp
lib/QMapControl/src/openaerialmapadapter.cpp
lib/QMapControl/src/geometry.cpp
lib/QMapControl/src/mapcontrol.cpp
lib/QMapControl/src/tilemapadapter.cpp
lib/QMapControl/src/googlemapadapter.cpp
lib/QMapControl/src/wmsmapadapter.cpp
lib/QMapControl/src/googlesatmapadapter.cpp
lib/QMapControl/src/curve.cpp
lib/QMapControl/src/emptymapadapter.cpp
lib/QMapControl/src/gps_position.cpp
)
# qmapcontrol linking
qt4_wrap_cpp(qmapcontrolMoc ${qmapcontrolMocSrc})
add_library(qmapcontrol ${qmapcontrolMoc} ${qmapcontrolSrc})
target_link_libraries(qmapcontrol ${QT_LIBRARIES})
# vim:ts=4:sw=4:expandtab