Skip to content
Snippets Groups Projects
qgroundcontrol.pri 12.2 KiB
Newer Older
  • Learn to ignore specific revisions
  • pixhawk's avatar
    pixhawk committed
    #-------------------------------------------------
    #
    # QGroundControl - Micro Air Vehicle Groundstation
    #
    # Please see our website at <http://qgroundcontrol.org>
    #
    # Author:
    # Lorenz Meier <mavteam@student.ethz.ch>
    #
    # (c) 2009-2010 PIXHAWK Team
    #
    # This file is part of the mav groundstation project
    # QGroundControl is free software: you can redistribute it and/or modify
    # it under the terms of the GNU General Public License as published by
    # the Free Software Foundation, either version 3 of the License, or
    # (at your option) any later version.
    # QGroundControl is distributed in the hope that it will be useful,
    # but WITHOUT ANY WARRANTY; without even the implied warranty of
    # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    # GNU General Public License for more details.
    # You should have received a copy of the GNU General Public License
    # along with QGroundControl. If not, see <http://www.gnu.org/licenses/>.
    #
    #-------------------------------------------------
    
    #$$BASEDIR/lib/qextserialport/include
    #               $$BASEDIR/lib/openjaus/libjaus/include \
    #               $$BASEDIR/lib/openjaus/libopenJaus/include
    
    message(Qt version $$[QT_VERSION])
    
    release {
    #    DEFINES += QT_NO_DEBUG_OUTPUT
    #    DEFINES += QT_NO_WARNING_OUTPUT
    }
    
    
    QMAKE_POST_LINK += echo "Copying files"
    
    pixhawk's avatar
    pixhawk committed
    
    
    #QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/debug/.
    #QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$TARGETDIR/release/.
    
    pixhawk's avatar
    pixhawk committed
    
    
    pixhawk's avatar
    pixhawk committed
    # MAC OS X
    macx { 
    
    
    pixhawk's avatar
    pixhawk committed
        COMPILER_VERSION = system(gcc -v)
        message(Using compiler $$COMPILER_VERSION)
    
    
    pixhawk's avatar
    pixhawk committed
        HARDWARE_PLATFORM = $$system(uname -a)
    
    pixhawk's avatar
    pixhawk committed
        contains( HARDWARE_PLATFORM, 9.6.0 ) || contains( HARDWARE_PLATFORM, 9.7.0 ) || contains( HARDWARE_PLATFORM, 9.8.0 ) || contains( HARDWARE_PLATFORM, 9.9.0 ) {
    
    pixhawk's avatar
    pixhawk committed
            # x86 Mac OS X Leopard 10.5 and earlier
            CONFIG += x86 cocoa phonon
            message(Building for Mac OS X 32bit/Leopard 10.5 and earlier)
    
                    # Enable function-profiling with the OS X saturn tool
                    debug {
                            #QMAKE_CXXFLAGS += -finstrument-functions
                            #LIBS += -lSaturn
                    }
        } else {
            # x64 Mac OS X Snow Leopard 10.6 and later
            CONFIG += x86_64 cocoa
            CONFIG -= x86 phonon
            message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later)
        }
    
    
    pixhawk's avatar
    pixhawk committed
        QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.5
    
        #DESTDIR = $$BASEDIR/bin/mac
    
    pixhawk's avatar
    pixhawk committed
        INCLUDEPATH += -framework SDL
    
    pixhawk's avatar
    pixhawk committed
    
        LIBS += -framework IOKit \
            -framework SDL \
            -framework CoreFoundation \
            -framework ApplicationServices \
            -lm
        
        ICON = $$BASEDIR/images/icons/macx.icns
    
        # Copy audio files if needed
    
    lm's avatar
    lm committed
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/audio $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    
    pixhawk's avatar
    pixhawk committed
        # Copy google earth starter file
    
    lm's avatar
    lm committed
        QMAKE_POST_LINK += && cp -f $$BASEDIR/images/earth.html $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    
        # Copy model files
    
    lm's avatar
    lm committed
        #QMAKE_POST_LINK += && cp -f $$BASEDIR/models/*.dae $$TARGETDIR/qgroundcontrol.app/Contents/MacOs
    
    pixhawk's avatar
    pixhawk committed
        exists(/Library/Frameworks/osg.framework):exists(/Library/Frameworks/OpenThreads.framework) {
        # No check for GLUT.framework since it's a MAC default
        message("Building support for OpenSceneGraph")
        DEPENDENCIES_PRESENT += osg
        DEFINES += QGC_OSG_ENABLED
        # Include OpenSceneGraph libraries
        INCLUDEPATH += -framework GLUT \
                -framework Carbon \
                -framework OpenThreads \
                -framework osg \
                -framework osgViewer \
                -framework osgGA \
                -framework osgDB \
                -framework osgText \
                -framework osgWidget
    
        LIBS += -framework GLUT \
                -framework Carbon \
                -framework OpenThreads \
                -framework osg \
                -framework osgViewer \
                -framework osgGA \
                -framework osgDB \
                -framework osgText \
                -framework osgWidget
        }
    
        exists(/usr/include/osgEarth) {
        message("Building support for osgEarth")
    
    pixhawk's avatar
    pixhawk committed
        DEPENDENCIES_PRESENT += osgearth
    
    pixhawk's avatar
    pixhawk committed
        # Include osgEarth libraries
        INCLUDEPATH += -framework GDAL \
                $$IN_PWD/lib/mac32-gcc/include \
                -framework GEOS \
                -framework SQLite3 \
                -framework osgFX \
                -framework osgTerrain
    
        LIBS += -framework GDAL \
                -framework GEOS \
                -framework SQLite3 \
                -framework osgFX \
    
    pixhawk's avatar
    pixhawk committed
        DEFINES += QGC_OSGEARTH_ENABLED
        }
    
    
    pixhawk's avatar
    pixhawk committed
        exists(/opt/local/include/libfreenect) {
        message("Building support for libfreenect")
        DEPENDENCIES_PRESENT += libfreenect
        # Include libfreenect libraries
        LIBS += -lfreenect
        DEFINES += QGC_LIBFREENECT_ENABLED
    
    pixhawk's avatar
    pixhawk committed
    
        # osg/osgEarth dynamic casts might fail without this compiler option.
        # see http://osgearth.org/wiki/FAQ for details.
        #QMAKE_CXXFLAGS += -Wl,-E
    
    pixhawk's avatar
    pixhawk committed
    }
    
    # GNU/Linux
    linux-g++ {
    
    pixhawk's avatar
    pixhawk committed
    
    
    pixhawk's avatar
    pixhawk committed
        debug {
    
    pixhawk's avatar
    pixhawk committed
            CONFIG += debug
    
    pixhawk's avatar
    pixhawk committed
        }
    
        release {
    
        QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.
    
    pixhawk's avatar
    pixhawk committed
    
        INCLUDEPATH += /usr/include \
                       /usr/include/qt4/phonon
                  # $$BASEDIR/lib/flite/include \
                  # $$BASEDIR/lib/flite/lang
    
    
    
    pixhawk's avatar
    pixhawk committed
        message(Building for GNU/Linux 32bit/i386)
    
    
    pixhawk's avatar
    pixhawk committed
        LIBS += \
            -L/usr/lib \
            -lm \
            -lflite_cmu_us_kal \
            -lflite_usenglish \
            -lflite_cmulex \
            -lflite \
            -lSDL \
            -lSDLmain
    
    
    pixhawk's avatar
    pixhawk committed
        exists(/usr/include/osg) {
        message("Building support for OpenSceneGraph")
        DEPENDENCIES_PRESENT += osg
        # Include OpenSceneGraph libraries
    
    Lionel Heng's avatar
    Lionel Heng committed
        LIBS += -losg \
                -losgViewer
    
    pixhawk's avatar
    pixhawk committed
        DEFINES += QGC_OSG_ENABLED
        }
    
        exists(/usr/include/osgEarth) | exists(/usr/local/include/osgEarth) {
        message("Building support for osgEarth")
        DEPENDENCIES_PRESENT += osgearth
        # Include osgEarth libraries
    
    Lionel Heng's avatar
    Lionel Heng committed
        LIBS += -losgEarth \
    
    pixhawk's avatar
    pixhawk committed
                -losgEarthUtil
        DEFINES += QGC_OSGEARTH_ENABLED
        }
    
        exists(/usr/local/include/libfreenect/libfreenect.h) {
        message("Building support for libfreenect")
        DEPENDENCIES_PRESENT += libfreenect
        INCLUDEPATH += /usr/include/libusb-1.0
        # Include libfreenect libraries
        LIBS += -lfreenect
        DEFINES += QGC_LIBFREENECT_ENABLED
        }
    
    
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$DESTDIR
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$DESTDIR
        QMAKE_POST_LINK += && mkdir -p $$DESTDIR/images
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$DESTDIR/images/Vera.ttf
    
    pixhawk's avatar
    pixhawk committed
    
        # osg/osgEarth dynamic casts might fail without this compiler option.
        # see http://osgearth.org/wiki/FAQ for details.
        QMAKE_CXXFLAGS += -Wl,-E
    
    pixhawk's avatar
    pixhawk committed
    }
    
    linux-g++-64 {
    
        debug {
    
    pixhawk's avatar
    pixhawk committed
            CONFIG += debug
    
    pixhawk's avatar
    pixhawk committed
        }
    
        release {
    
        QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/.
    
    pixhawk's avatar
    pixhawk committed
    
    
    pixhawk's avatar
    pixhawk committed
        INCLUDEPATH += /usr/include \
                       /usr/include/qt4/phonon
                  # $$BASEDIR/lib/flite/include \
                  # $$BASEDIR/lib/flite/lang
    
    
    
    pixhawk's avatar
    pixhawk committed
        # 64-bit Linux
        message(Building for GNU/Linux 64bit/x64 (g++-64))
    
    
    pixhawk's avatar
    pixhawk committed
        LIBS += \
            -L/usr/lib \
            -lm \
            -lflite_cmu_us_kal \
            -lflite_usenglish \
            -lflite_cmulex \
            -lflite \
            -lSDL \
            -lSDLmain
    
    
    pixhawk's avatar
    pixhawk committed
        exists(/usr/include/osg) {
        message("Building support for OpenSceneGraph")
        DEPENDENCIES_PRESENT += osg
        # Include OpenSceneGraph libraries
    
    Lionel Heng's avatar
    Lionel Heng committed
        LIBS += -losg \
                -losgViewer
    
    pixhawk's avatar
    pixhawk committed
        DEFINES += QGC_OSG_ENABLED
        }
    
        exists(/usr/include/osgEarth) {
        message("Building support for osgEarth")
        DEPENDENCIES_PRESENT += osgearth
        # Include osgEarth libraries
    
    Lionel Heng's avatar
    Lionel Heng committed
        LIBS += -losgEarth \
    
    pixhawk's avatar
    pixhawk committed
                -losgEarthUtil
        DEFINES += QGC_OSGEARTH_ENABLED
        }
    
        exists(/usr/local/include/libfreenect) {
        message("Building support for libfreenect")
        DEPENDENCIES_PRESENT += libfreenect
        INCLUDEPATH += /usr/include/libusb-1.0
        # Include libfreenect libraries
        LIBS += -lfreenect
        DEFINES += QGC_LIBFREENECT_ENABLED
        }
    
    
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/models $$DESTDIR
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$DESTDIR
        QMAKE_POST_LINK += && mkdir -p $$DESTDIR/images
        QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$DESTDIR/images/Vera.ttf
    
    
    pixhawk's avatar
    pixhawk committed
        # osg/osgEarth dynamic casts might fail without this compiler option.
        # see http://osgearth.org/wiki/FAQ for details.
        QMAKE_CXXFLAGS += -Wl,-E
    
    pixhawk's avatar
    pixhawk committed
    }
    
    # Windows (32bit)
    win32-msvc2008 {
    
        message(Building for Windows Visual Studio 2008 (32bit))
    
    
        CONFIG += qaxcontainer
    
    
    pixhawk's avatar
    pixhawk committed
        # Special settings for debug
        #CONFIG += CONSOLE
    
        INCLUDEPATH += $$BASEDIR/lib/sdl/msvc/include \
                       $$BASEDIR/lib/opal/include \
                       $$BASEDIR/lib/msinttypes
                       #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"
    
        LIBS += -L$$BASEDIR/lib/sdl/msvc/lib \
                 -lSDLmain -lSDL
    
    
    pixhawk's avatar
    pixhawk committed
    exists($$BASEDIR/lib/osg123) {
    message("Building support for OSG")
    DEPENDENCIES_PRESENT += osg
    
    
    pixhawk's avatar
    pixhawk committed
    # Include OpenSceneGraph and osgEarth libraries
    INCLUDEPATH += $$BASEDIR/lib/osgEarth/win32/include \
        $$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include
    
    pixhawk's avatar
    pixhawk committed
    LIBS += -L$$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib \
    
    pixhawk's avatar
    pixhawk committed
        -losg \
        -losgViewer \
    	-losgGA \
    	-losgDB \
    	-losgText \
    
    pixhawk's avatar
    pixhawk committed
            -lOpenThreads
    
    pixhawk's avatar
    pixhawk committed
    DEFINES += QGC_OSG_ENABLED
    
    pixhawk's avatar
    pixhawk committed
    exists($$BASEDIR/lib/osgEarth123) {
        DEPENDENCIES_PRESENT += osgearth
        message("Building support for osgEarth")
        DEFINES += QGC_OSGEARTH_ENABLED
        LIBS += -L$$BASEDIR/lib/osgEarth/win32/lib \
            -losgEarth \
            -losgEarthUtil
    }
    }
    
    pixhawk's avatar
    pixhawk committed
    
        RC_FILE = $$BASEDIR/qgroundcontrol.rc
    
        # Copy dependencies
    
        BASEDIR_WIN = $$replace(BASEDIR,"/","\\")
        TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\")
    
    pixhawk's avatar
    pixhawk committed
    
    
        debug {
            QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\"
            QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\audio\" \"$$TARGETDIR_WIN\debug\audio\" /S /E /Y
            QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\models\" \"$$TARGETDIR_WIN\debug\models\" /S /E /Y
            QMAKE_POST_LINK += && copy /Y \"$$BASEDIR/images/earth.html $$TARGETDIR_WIN\debug\"
        }
    
    pixhawk's avatar
    pixhawk committed
    
    
        release {
            QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\lib\sdl\win32\SDL.dll\" \"$$TARGETDIR_WIN\release\SDL.dll\"
            QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\audio\" \"$$TARGETDIR_WIN\release\audio\" /S /E /Y
            QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\models\" \"$$TARGETDIR_WIN\release\models\" /S /E /Y
            QMAKE_POST_LINK += && copy /Y \"$$BASEDIR/images/earth.html $$TARGETDIR_WIN\release\"
        }
    
    pixhawk's avatar
    pixhawk committed
    }
    
    # Windows (32bit)
    win32-g++ {
    
        message(Building for Windows Platform (32bit))
        
        # Special settings for debug
        #CONFIG += CONSOLE
    
        INCLUDEPATH += $$BASEDIR/lib/sdl/include \
                       $$BASEDIR/lib/opal/include #\ #\
                       #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include"
    
        LIBS += -L$$BASEDIR/lib/sdl/win32 \
                 -lmingw32 -lSDLmain -lSDL -mwindows
    
    
    
        debug {
    
            #DESTDIR = $$BUILDDIR/debug
    
    pixhawk's avatar
    pixhawk committed
        }
    
        release {
    
            #DESTDIR = $$BUILDDIR/release
    
    pixhawk's avatar
    pixhawk committed
        }
            
        RC_FILE = $$BASEDIR/qgroundcontrol.rc
    
        # Copy dependencies
    
        debug {
            QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/SDL.dll
            QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/debug/audio
            QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/debug/models
        }
    
        release {
            QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/release/SDL.dll
            QMAKE_POST_LINK += && cp -r $$BASEDIR/audio $$TARGETDIR/release/audio
            QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/release/models
        }
    
    pixhawk's avatar
    pixhawk committed
    
        # osg/osgEarth dynamic casts might fail without this compiler option.
        # see http://osgearth.org/wiki/FAQ for details.
        QMAKE_CXXFLAGS += -Wl,-E