diff --git a/CMakeLists.txt b/CMakeLists.txt index 313a9e718547471522f6715945102095f96bcc01..faa3fe5391b568f495fc7ec98a4ae9cde55804a3 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 (UNIX) + find_package(Flite) +endif(UNIX) +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) + +# unix only dependencies +if (UNIX) + 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(UNIX) + +# 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_) @@ -322,14 +354,15 @@ set (qgroundcontrolHdrs # r !grep -Rl Q_OBJECT src | grep "^.*\.[h|hpp]$" | sed "s/^/\t/g" set(qgroundcontrolMocSrc src/Core.h - src/uas/UASManager.h - src/uas/UASWaypointManager.h - src/uas/UASInterface.h - src/uas/PxQuadMAV.h - src/uas/QGCMAVLinkUASFactory.h - src/uas/SlugsMAV.h - src/uas/UAS.h - src/uas/ArduPilotMegaMAV.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 @@ -444,6 +477,7 @@ set (qgroundcontrolSrc 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 diff --git a/CMakeModules/FindFlite.cmake b/CMakeModules/FindFlite.cmake index a4d16bad18428f8cb828ee37ab443368065770b8..b9471bef3959635b21f11fb1b0ea3a516bdfd93a 100644 --- a/CMakeModules/FindFlite.cmake +++ b/CMakeModules/FindFlite.cmake @@ -1,5 +1,16 @@ FIND_PATH(FLITE_INCLUDE_DIR flite/flite.h) -FIND_LIBRARY(FLITE_LIBRARIES NAMES flite) + +FIND_LIBRARY(FLITE_MAIN_LIB NAMES flite) +FIND_LIBRARY(FLITE_CMULEX_LIB NAMES flite_cmulex) +FIND_LIBRARY(FLITE_CMU_US_KAL_LIB NAMES flite_cmu_us_kal) +FIND_LIBRARY(FLITE_US_ENGLISH_LIB NAMES flite_usenglish) + +SET(FLITE_LIBRARIES + ${FLITE_MAIN_LIB} + ${FLITE_CMULEX_LIB} + ${FLITE_CMU_US_KAL_LIB} + ${FLITE_US_ENGLISH_LIB} + ) IF(FLITE_INCLUDE_DIR AND FLITE_LIBRARIES) SET(FLITE_FOUND TRUE) diff --git a/autobuild.sh b/autobuild.sh index 9b7f7912a40a38e95fdebd6fe7da97216bda9fa6..f21ecf824c146ffc3346667cd744071b5764ac9a 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/src/GAudioOutput.cc b/src/GAudioOutput.cc index e10356f3777fe4ace139ae57df2869ebd10a1f04..50ef1ecbc630cd59e59f644ff39337d188aefa95 100644 --- a/src/GAudioOutput.cc +++ b/src/GAudioOutput.cc @@ -189,7 +189,7 @@ bool GAudioOutput::say(QString text, int severity) file.setFileTemplate("XXXXXX.wav"); if (file.open()) { - cst_voice* v = new_voice(); + cst_voice* v = register_cmu_us_kal(NULL); cst_wave* wav = flite_text_to_wave(text.toStdString().c_str(), v); // file.fileName() returns the unique file name cst_wave_save(wav, file.fileName().toStdString().c_str(), "riff"); diff --git a/thirdParty/mavlink b/thirdParty/mavlink index 50ad6bf278b87a105adb4887b5338daa2940f0c6..3eece4f7936d935256ec4ac6cf3ae726e5ddd7f1 160000 --- a/thirdParty/mavlink +++ b/thirdParty/mavlink @@ -1 +1 @@ -Subproject commit 50ad6bf278b87a105adb4887b5338daa2940f0c6 +Subproject commit 3eece4f7936d935256ec4ac6cf3ae726e5ddd7f1