From 571c03fdd929e6114b4330abb2a2013afb345398 Mon Sep 17 00:00:00 2001 From: James Goppert Date: Mon, 21 Feb 2011 10:28:07 -0500 Subject: [PATCH] Working on cmake file compat. --- CMakeLists.txt | 102 +++++++++++++++++++++++++++++---------------- autobuild.sh | 3 +- thirdParty/mavlink | 2 +- 3 files changed, 69 insertions(+), 38 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 313a9e718..433e02119 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,9 +120,11 @@ endif() find_package(Qt4 COMPONENTS QtGui QtCore QtNetwork QtOpenGL QtSVG QtXML QtPhonon QtWebKit REQUIRED) set(PHONON_FIND_QUIETLY FALSE) find_package(Phonon) -find_package(SDL) -find_package(Flite) -find_package(OpenGL) +find_package(SDL REQUIRED) +if (LINUX) + find_package(Flite) +endif(LINUX) +find_package(OpenGL REQUIRED) find_package(OpenSceneGraph 2.8.3 COMPONENTS osgGA osgDB osgUtil osgViewer) find_or_build_from_source(MAVLINK thirdParty/mavlink FOUND_GIT_REPO) @@ -159,60 +161,90 @@ 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} + ) + # dependency summary message(STATUS "=======================================") -message(STATUS "\tLIBRARY\t\t\tBUILDING") +message(STATUS "\tDEPENDENCY\t\tFOUND") message(STATUS "=======================================") -message(STATUS "\t\tMavlink\t\tYES") + +# common dependencies +if (MAVLINK_FOUND) + message(STATUS "\t\tMAVLINK\t\tYES") + list(APPEND qgroundcontrolIncludes ${MAVLINK_INCLUDE_DIRS}) +else() + message(STATUS "\t\tOpenSceneGraph\t\tNO") +endif (MAVLINK_FOUND) if (OPENSCENEGRAPH_FOUND) - list(APPEND qgroundcontrol_LIBRARIES qgroundcontrolVisualization) message(STATUS "\t\tOpenSceneGraph\tYES") + list(APPEND qgroundcontrolIncludes ${OPENSCENEGRAPH_INCLUDE_DIRS}) else() message(STATUS "\t\tOpenSceneGraph\t\tNO") endif (OPENSCENEGRAPH_FOUND) if (QT4_FOUND) message(STATUS "\t\tQT4\t\tYES") + list(APPEND qgroundcontrolIncludes ${QT_INCLUDE_DIRS}) else() message(STATUS "\t\tQT4\t\tNO") endif (QT4_FOUND) if (PHONON_FOUND) message(STATUS "\t\tPHONON\t\tYES") + list(APPEND qgroundcontrolIncludes ${PHONON_INCLUDE_DIR}/phonon) else() message(STATUS "\t\tPHONON\t\tNO") endif (PHONON_FOUND) +if (SDL_FOUND) + message(STATUS "\t\tSDL\t\tYES") + list(APPEND qgroundcontrolIncludes ${SDL_INCLUDE_DIR}) +else() + message(STATUS "\t\tSDL\t\tNO") +endif (SDL_FOUND) +if (OPENGL_FOUND) + message(STATUS "\t\tOPENGL\t\tYES") + list(APPEND qgroundcontrolIncludes ${OPENGL_INCLUDE_DIR}) +else() + message(STATUS "\t\tOPENGL\t\tNO") +endif (OPENGL_FOUND) + +# linux only dependencies +if (LINUX) + if (FLITE_FOUND) + message(STATUS "\t\tFLITE\t\tYES") + list(APPEND qgroundcontrolIncludes ${FLITE_INCLUDE_DIR}) + else() + message(STATUS "\t\tFLITE\t\tNO") + endif (FLITE_FOUND) +endif(LINUX) + +# set include directories +include_directories(${qgroundcontrolIncludes}) + message(STATUS "=======================================") # project flags include (${QT_USE_FILE}) -include_directories( - 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} - ${SDL_INCLUDE_DIR} - ${OPENGL_INCLUDE_DIR} - ${OPENSCENEGRAPH_INCLUDE_DIRS} - ${QT_INCLUDE_DIRS} - ${PHONON_INCLUDE_DIR}/phonon - ${FLITE_INCLUDE_DIR} - ${MAVLINK_INCLUDE_DIRS} - ) set (commonLibs ) add_definitions(-D_TTY_POSIX_) diff --git a/autobuild.sh b/autobuild.sh index 9b7f7912a..f21ecf824 100755 --- a/autobuild.sh +++ b/autobuild.sh @@ -28,8 +28,7 @@ do elif [ $OPT = "grab_debian_dependencies" ] &> /dev/null then echo you chose to install debian dependencies - sudo apt-get install cmake libqt4-dev libboost-all-dev libopenscenegraph-dev - sudo apt-get install scicoslab-gtk + sudo apt-get install cmake libqt4-dev flite1-dev libphonon-dev libopenscenegraph-dev exit 0 elif [ $OPT = "remake" ] &> /dev/null diff --git a/thirdParty/mavlink b/thirdParty/mavlink index 50ad6bf27..3eece4f79 160000 --- a/thirdParty/mavlink +++ b/thirdParty/mavlink @@ -1 +1 @@ -Subproject commit 50ad6bf278b87a105adb4887b5338daa2940f0c6 +Subproject commit 3eece4f7936d935256ec4ac6cf3ae726e5ddd7f1 -- 2.22.0