diff --git a/README b/README index d8f1895887595b985522d77568b94c36652bbe5c..7fb976fcfb539bd28b682575b5225af676649946 100644 --- a/README +++ b/README @@ -78,52 +78,25 @@ Done. Windows ======= -DETAILED STEPS BELOW THE VISUAL STUDIO 2010 NOTES. GNU GCC / MINGW IS UNTESTED, COULD WORK VISUAL STUDIO 2008 / 2010 EXPRESS EDITION IS FREE! -------------------------------------------------------------------------------------- -VISUAL STUDIO 2010 NOTES (VS 2008 runs out-of-the-box, just follow the steps below): - -For use of Qt 4x with Visual Studio 2010 Add-in. - -Visual studio adds automatically certain defines that are wrong and cause errors. -To resolve this, execute these steps: - -In the projects properties -> C/C++ ->preprocessor change: - -in DEBUG: - delete QT_NO_DEBUG - -in both (DEBUG / RELEASE): - delete QT_NO_DYNAMIC_CAST -------------------------------------------------------------------------------------- - - - - -Steps for Visual Studio 2008 / 2010. (VS 2008 is easier, VS 2010 only recommended for -expert developers) - +Steps for Visual Studio 2008 / 2010: Windows XP/7: -1) Download and install the Qt SDK for Windows from http://qt.nokia.com/downloads/ (Visual Studio 2008 version) OR download Qt source and compile with VS 2010 - -2) Download and install Visual Studio 2008 Express Edition (free) OR VS 2010 Express Edition - -3) Go to the QGroundControl folder and then to thirdParty -> libxbee +1) Download and install the Qt libraries for Windows from https://qt.nokia.com/downloads/ (the Visual Studio 2008 or 2010 version as appropriate) -4) Build the library. See win32.README +2) Download and install Visual Studio 2008 or 2010 Express Edition (free) from https://www.microsoft.com/visualstudio -5) Go to the source folder of QGroundControl with the Qt 4.7.x Command Prompt tool (from the applications menu) +3) Go to the QGroundControl folder and then to thirdParty/libxbee and build it following the instructions in win32.README -6) Create the Visual Studio project by typing: +4) Open the Qt Command Prompt program (should be in the Start Menu), navigate to the source folder of QGroundControl and create the Visual Studio project by typing: -qmake -tp vc qgroundcontrol.pro +`qmake -tp vc qgroundcontrol.pro` -7) Now start Visual Studio and load the qgroundcontrol.vcproj file +5) Now start Visual Studio and load the qgroundcontrol.vcproj if using Visual Studio 2008 or qgroundcontrol.vcxproj if using Visual Studio 2010 -8) Compile and edit in Visual Studio. If you need to add new files, add them to qgroundcontrol.pro and re-run "quake -tp vc qgroundcontrol.pro" +6) Compile and edit in Visual Studio. If you need to add new files, add them to qgroundcontrol.pro and re-run `qmake -tp vc qgroundcontrol.pro` diff --git a/READMEvc2010.txt b/READMEvc2010.txt deleted file mode 100644 index 692fe86ea35ff29d461d8efdc4abea1682d85632..0000000000000000000000000000000000000000 --- a/READMEvc2010.txt +++ /dev/null @@ -1,12 +0,0 @@ - -For use of qt 4x and visual studio2010 and add in. - -The Visual studio adds automatically certain defines - -In the projects properties -> C/C++ ->preprocessor change: - -in DEBUG: - delete QT_NO_DEBUG - -Both: - delete QT_NO_DYNAMIC_CAST diff --git a/qgcunittest.pro b/qgcunittest.pro index 498ea58a7cada5161ba7dee0a5843438aef19e3e..f8c231362ff08abf42be4ccac4dc393ce46efc17 100644 --- a/qgcunittest.pro +++ b/qgcunittest.pro @@ -4,10 +4,10 @@ # #------------------------------------------------- -QT += network \ - phonon \ - testlib \ - svg +QT += network \ + phonon \ + testlib \ + svg TEMPLATE = app @@ -99,49 +99,46 @@ INCLUDEPATH += . \ $$BASEDIR/src/ui/ \ -SOURCES += src/uas/UAS.cc \ - src/comm/MAVLinkProtocol.cc \ - src/uas/UASWaypointManager.cc \ - src/Waypoint.cc \ - src/ui/RadioCalibration/RadioCalibrationData.cc \ - src/uas/SlugsMAV.cc \ - src/uas/PxQuadMAV.cc \ - src/uas/ArduPilotMegaMAV.cc \ - src/GAudioOutput.cc \ - src/uas/UASManager.cc \ - src/comm/LinkManager.cc \ - src/QGC.cc \ - src/comm/SerialLink.cc \ - $$TESTDIR/SlugsMavUnitTest.cc \ - $$TESTDIR/testSuite.cc \ - $$TESTDIR/UASUnitTest.cc \ +SOURCES += src/uas/UAS.cc \ + src/comm/MAVLinkProtocol.cc \ + src/uas/UASWaypointManager.cc \ + src/Waypoint.cc \ + src/ui/RadioCalibration/RadioCalibrationData.cc \ + src/uas/SlugsMAV.cc \ + src/uas/PxQuadMAV.cc \ + src/uas/ArduPilotMegaMAV.cc \ + src/GAudioOutput.cc \ + src/uas/UASManager.cc \ + src/comm/LinkManager.cc \ + src/QGC.cc \ + src/comm/SerialLink.cc \ + $$TESTDIR/SlugsMavUnitTest.cc \ + $$TESTDIR/testSuite.cc \ + $$TESTDIR/UASUnitTest.cc \ src/uas/QGCMAVLinkUASFactory.cc HEADERS += src/uas/UASInterface.h \ - src/uas/UAS.h \ - src/comm/MAVLinkProtocol.h \ - src/comm/ProtocolInterface.h \ - src/uas/UASWaypointManager.h \ - src/Waypoint.h \ - src/ui/RadioCalibration/RadioCalibrationData.h \ - src/uas/SlugsMAV.h \ - src/uas/PxQuadMAV.h \ - src/uas/ArduPilotMegaMAV.h \ - src/GAudioOutput.h \ - src/uas/UASManager.h \ - src/comm/LinkManager.h \ - src/comm/LinkInterface.h \ - src/QGC.h \ - src/comm/SerialLinkInterface.h \ - src/comm/SerialLink.h \ - $$TESTDIR//SlugsMavUnitTest.h \ - $$TESTDIR/AutoTest.h \ - $$TESTDIR/UASUnitTest.h \ + src/uas/UAS.h \ + src/comm/MAVLinkProtocol.h \ + src/comm/ProtocolInterface.h \ + src/uas/UASWaypointManager.h \ + src/Waypoint.h \ + src/ui/RadioCalibration/RadioCalibrationData.h \ + src/uas/SlugsMAV.h \ + src/uas/PxQuadMAV.h \ + src/uas/ArduPilotMegaMAV.h \ + src/GAudioOutput.h \ + src/uas/UASManager.h \ + src/comm/LinkManager.h \ + src/comm/LinkInterface.h \ + src/QGC.h \ + src/comm/SerialLinkInterface.h \ + src/comm/SerialLink.h \ + $$TESTDIR//SlugsMavUnitTest.h \ + $$TESTDIR/AutoTest.h \ + $$TESTDIR/UASUnitTest.h \ src/uas/QGCMAVLinkUASFactory.h - - - DEFINES += SRCDIR=\\\"$$PWD/\\\" diff --git a/qgroundcontrol.pri b/qgroundcontrol.pri index e09cb552663ecc8c19371d2b3801c7c1670455ec..546fd8d1ff48371a60867aa69d7795cab299a4d1 100644 --- a/qgroundcontrol.pri +++ b/qgroundcontrol.pri @@ -20,17 +20,10 @@ message(Qt version $$[QT_VERSION]) message(Using Qt from $$(QTDIR)) - - -release { -# DEFINES += QT_NO_DEBUG_OUTPUT -# DEFINES += QT_NO_WARNING_OUTPUT -} - win32-msvc2008|win32-msvc2010 { - QMAKE_POST_LINK += $$quote(echo "Copying files"$$escape_expand(\\n)) + QMAKE_POST_LINK += $$quote(echo "Copying files"$$escape_expand(\\n)) } else { - QMAKE_POST_LINK += $$quote(echo "Copying files") + QMAKE_POST_LINK += $$quote(echo "Copying files") } # Turn off serial port warnings @@ -39,328 +32,287 @@ DEFINES += _TTY_NOWARN_ # MAC OS X macx|macx-g++42|macx-g++: { - # COMPILER_VERSION = $$system(gcc -v) - #message(Using compiler $$COMPILER_VERSION) - - CONFIG += x86_64 cocoa phonon - CONFIG -= x86 - - #HARDWARE_PLATFORM = $$system(uname -a) - #contains( $$HARDWARE_PLATFORM, "9.6.0" ) || contains( $$HARDWARE_PLATFORM, "9.7.0" ) || contains( $$HARDWARE_PLATFORM, "9.8.0" ) || contains( $$HARDWARE_PLATFORM, "9.9.0" ) { - # x86 Mac OS X Leopard 10.5 and earlier - - #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 - # CONFIG += console - #} - #} else { - # x64 Mac OS X Snow Leopard 10.6 and later - # CONFIG += x86_64 x86 cocoa phonon - #CONFIG -= x86 # phonon - #message(Building for Mac OS X 64bit/Snow Leopard 10.6 and later) - # debug { - #QMAKE_CXXFLAGS += -finstrument-functions - #LIBS += -lSaturn - # } - #} - - QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6 - - #DESTDIR = $$BASEDIR/bin/mac - INCLUDEPATH += -framework SDL - - LIBS += -framework IOKit \ - -framework SDL \ - -framework CoreFoundation \ - -framework ApplicationServices \ - -lm - - ICON = $$BASEDIR/images/icons/macx.icns - - # Copy contributed files - QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS - # Copy google earth starter file - QMAKE_POST_LINK += && cp -f $$BASEDIR/images/earth.html $$TARGETDIR/qgroundcontrol.app/Contents/MacOS - # Copy CSS stylesheets - QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-mission.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/style-indoor.css - QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-outdoor.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS - # Copy parameter tooltip files - QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS - # Copy libraries - QMAKE_POST_LINK += && mkdir -p $$TARGETDIR/qgroundcontrol.app/Contents/libs - QMAKE_POST_LINK += && cp -rf $$BASEDIR/lib/mac64/lib/* $$TARGETDIR/qgroundcontrol.app/Contents/libs - - # Fix library paths inside executable - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - QMAKE_POST_LINK += && install_name_tool -change libosgViewer.dylib "@executable_path/../libs/libosgViewer.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - QMAKE_POST_LINK += && install_name_tool -change libosgWidget.dylib "@executable_path/../libs/libosgWidget.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol - - # Fix library paths within libraries (inter-library dependencies) - - # OSG GA LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib - - # OSG DB LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib - - # OSG TEXT LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib - - # OSG UTIL LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgUtil.dylib - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgUtil.dylib - - - # OSG VIEWER LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib - - # OSG WIDGET LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - QMAKE_POST_LINK += && install_name_tool -change libosgViewer.dylib "@executable_path/../libs/libosgViewer.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib - - # CORE OSG LIBRARY - QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosg.dylib - - - # Copy model files - #QMAKE_POST_LINK += && cp -f $$BASEDIR/models/*.dae $$TARGETDIR/qgroundcontrol.app/Contents/MacOs - - #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 Cocoa \ - $$BASEDIR/lib/mac64/include - - LIBS += -framework GLUT \ - -framework Cocoa \ - -L$$BASEDIR/lib/mac64/lib \ - -lOpenThreads \ - -losg \ - -losgViewer \ - -losgGA \ - -losgDB \ - -losgText \ - -losgWidget - #} - - exists(/usr/local/include/google/protobuf) { - message("Building support for Protocol Buffers") - DEPENDENCIES_PRESENT += protobuf - # Include Protocol Buffers libraries - LIBS += -L/usr/local/lib \ + CONFIG += x86_64 cocoa phonon + CONFIG -= x86 + + QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6 + + INCLUDEPATH += -framework SDL + + LIBS += -framework IOKit \ + -framework SDL \ + -framework CoreFoundation \ + -framework ApplicationServices \ + -lm + + ICON = $$BASEDIR/images/icons/macx.icns + + # Copy contributed files + QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS + # Copy google earth starter file + QMAKE_POST_LINK += && cp -f $$BASEDIR/images/earth.html $$TARGETDIR/qgroundcontrol.app/Contents/MacOS + # Copy CSS stylesheets + QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-mission.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/style-indoor.css + QMAKE_POST_LINK += && cp -f $$BASEDIR/images/style-outdoor.css $$TARGETDIR/qgroundcontrol.app/Contents/MacOS + # Copy parameter tooltip files + QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR/qgroundcontrol.app/Contents/MacOS + # Copy libraries + QMAKE_POST_LINK += && mkdir -p $$TARGETDIR/qgroundcontrol.app/Contents/libs + QMAKE_POST_LINK += && cp -rf $$BASEDIR/lib/mac64/lib/* $$TARGETDIR/qgroundcontrol.app/Contents/libs + + # Fix library paths inside executable + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + QMAKE_POST_LINK += && install_name_tool -change libosgViewer.dylib "@executable_path/../libs/libosgViewer.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + QMAKE_POST_LINK += && install_name_tool -change libosgWidget.dylib "@executable_path/../libs/libosgWidget.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/MacOS/qgroundcontrol + + # Fix library paths within libraries (inter-library dependencies) + + # OSG GA LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgGA.dylib + + # OSG DB LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgDB.dylib + + # OSG TEXT LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgText.dylib + + # OSG UTIL LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgUtil.dylib + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgUtil.dylib + + + # OSG VIEWER LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgViewer.dylib + + # OSG WIDGET LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libosgGA.dylib "@executable_path/../libs/libosgGA.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgText.dylib "@executable_path/../libs/libosgText.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgDB.dylib "@executable_path/../libs/libosgDB.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgUtil.dylib "@executable_path/../libs/libosgUtil.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + QMAKE_POST_LINK += && install_name_tool -change libosg.dylib "@executable_path/../libs/libosg.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + QMAKE_POST_LINK += && install_name_tool -change libosgViewer.dylib "@executable_path/../libs/libosgViewer.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosgWidget.dylib + + # CORE OSG LIBRARY + QMAKE_POST_LINK += && install_name_tool -change libOpenThreads.dylib "@executable_path/../libs/libOpenThreads.dylib" $$TARGETDIR/qgroundcontrol.app/Contents/libs/libosg.dylib + + # 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 Cocoa \ + $$BASEDIR/lib/mac64/include + + LIBS += -framework GLUT \ + -framework Cocoa \ + -L$$BASEDIR/lib/mac64/lib \ + -lOpenThreads \ + -losg \ + -losgViewer \ + -losgGA \ + -losgDB \ + -losgText \ + -losgWidget + + exists(/usr/local/include/google/protobuf) { + message("Building support for Protocol Buffers") + DEPENDENCIES_PRESENT += protobuf + # Include Protocol Buffers libraries + LIBS += -L/usr/local/lib \ -lprotobuf \ -lprotobuf-lite \ -lprotoc - DEFINES += QGC_PROTOBUF_ENABLED - } + DEFINES += QGC_PROTOBUF_ENABLED + } - exists(/opt/local/include/libfreenect)|exists(/usr/local/include/libfreenect) { - message("Building support for libfreenect") - DEPENDENCIES_PRESENT += libfreenect - # Include libfreenect libraries - LIBS += -lfreenect - DEFINES += QGC_LIBFREENECT_ENABLED - } + exists(/opt/local/include/libfreenect)|exists(/usr/local/include/libfreenect) { + message("Building support for libfreenect") + DEPENDENCIES_PRESENT += libfreenect + # Include libfreenect libraries + LIBS += -lfreenect + DEFINES += QGC_LIBFREENECT_ENABLED + } } # GNU/Linux linux-g++|linux-g++-64{ - CONFIG -= console - - debug { - #CONFIG += debug console - } - - release { - DEFINES += QT_NO_DEBUG - #CONFIG -= console - } - - #QMAKE_POST_LINK += cp -rf $$BASEDIR/audio $$DESTDIR/. - - INCLUDEPATH += /usr/include \ - /usr/local/include \ - /usr/include/qt4/phonon - - LIBS += \ - -L/usr/lib \ - -L/usr/local/lib64 \ - -lm \ - -lflite_cmu_us_kal \ - -lflite_usenglish \ - -lflite_cmulex \ - -lflite \ - -lSDL \ - -lSDLmain - - exists(/usr/include/osg) | exists(/usr/local/include/osg) { - message("Building support for OpenSceneGraph") - DEPENDENCIES_PRESENT += osg - # Include OpenSceneGraph libraries - LIBS += -losg \ + CONFIG -= console + + release { + DEFINES += QT_NO_DEBUG + } + + INCLUDEPATH += /usr/include \ + /usr/local/include \ + /usr/include/qt4/phonon + + LIBS += \ + -L/usr/lib \ + -L/usr/local/lib64 \ + -lm \ + -lflite_cmu_us_kal \ + -lflite_usenglish \ + -lflite_cmulex \ + -lflite \ + -lSDL \ + -lSDLmain + + exists(/usr/include/osg) | exists(/usr/local/include/osg) { + message("Building support for OpenSceneGraph") + DEPENDENCIES_PRESENT += osg + # Include OpenSceneGraph libraries + LIBS += -losg \ -losgViewer \ -losgGA \ -losgDB \ -losgText \ -lOpenThreads - DEFINES += QGC_OSG_ENABLED - } - - exists(/usr/include/osg/osgQt) | exists(/usr/include/osgQt) | - exists(/usr/local/include/osg/osgQt) | exists(/usr/local/include/osgQt) { - message("Building support for OpenSceneGraph Qt") - # Include OpenSceneGraph Qt libraries - LIBS += -losgQt - DEFINES += QGC_OSG_QT_ENABLED - } - - exists(/usr/local/include/google/protobuf) { - message("Building support for Protocol Buffers") - DEPENDENCIES_PRESENT += protobuf - # Include Protocol Buffers libraries - LIBS += -lprotobuf \ + DEFINES += QGC_OSG_ENABLED + } + + exists(/usr/include/osg/osgQt) | exists(/usr/include/osgQt) | + exists(/usr/local/include/osg/osgQt) | exists(/usr/local/include/osgQt) { + message("Building support for OpenSceneGraph Qt") + # Include OpenSceneGraph Qt libraries + LIBS += -losgQt + DEFINES += QGC_OSG_QT_ENABLED + } + + exists(/usr/local/include/google/protobuf) { + message("Building support for Protocol Buffers") + DEPENDENCIES_PRESENT += protobuf + # Include Protocol Buffers libraries + LIBS += -lprotobuf \ -lprotobuf-lite \ -lprotoc - DEFINES += QGC_PROTOBUF_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 - } - - # Validated copy commands - !exists($$TARGETDIR){ - QMAKE_POST_LINK += && mkdir -p $$TARGETDIR - } - DESTDIR = $$TARGETDIR - QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR - QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$TARGETDIR - QMAKE_POST_LINK += && mkdir -p $$TARGETDIR/images - QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$TARGETDIR/images/Vera.ttf - - # osg/osgEarth dynamic casts might fail without this compiler option. - # see http://osgearth.org/wiki/FAQ for details. - QMAKE_CXXFLAGS += -Wl,-E + DEFINES += QGC_PROTOBUF_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 + } + + # Validated copy commands + !exists($$TARGETDIR){ + QMAKE_POST_LINK += && mkdir -p $$TARGETDIR + } + DESTDIR = $$TARGETDIR + QMAKE_POST_LINK += && cp -rf $$BASEDIR/files $$TARGETDIR + QMAKE_POST_LINK += && cp -rf $$BASEDIR/data $$TARGETDIR + QMAKE_POST_LINK += && mkdir -p $$TARGETDIR/images + QMAKE_POST_LINK += && cp -rf $$BASEDIR/images/Vera.ttf $$TARGETDIR/images/Vera.ttf + + # osg/osgEarth dynamic casts might fail without this compiler option. + # see http://osgearth.org/wiki/FAQ for details. + QMAKE_CXXFLAGS += -Wl,-E } linux-g++ { - message("Building for GNU/Linux 32bit/i386") + message("Building for GNU/Linux 32bit/i386") } linux-g++-64 { - message("Building for GNU/Linux 64bit/x64 (g++-64)") - exists(/usr/local/lib64) { - LIBS += -L/usr/local/lib64 - } + message("Building for GNU/Linux 64bit/x64 (g++-64)") + exists(/usr/local/lib64) { + LIBS += -L/usr/local/lib64 + } } -# Windows (32bit) +# Windows (32bit), Visual Studio win32-msvc2008|win32-msvc2010 { - win32-msvc2008 { - message(Building for Windows Visual Studio 2008 (32bit)) - } - win32-msvc2010 { - message(Building for Windows Visual Studio 2010 (32bit)) - } + win32-msvc2008 { + message(Building for Windows Visual Studio 2008 (32bit)) + } + win32-msvc2010 { + message(Building for Windows Visual Studio 2010 (32bit)) + } - # QAxContainer support is needed for the Internet Control - # element showing the Google Earth window - CONFIG += qaxcontainer + # QAxContainer support is needed for the Internet Control + # element showing the Google Earth window + CONFIG += qaxcontainer - # The EIGEN library needs this define - # to make the internal min/max functions work - DEFINES += NOMINMAX + # The EIGEN library needs this define + # to make the internal min/max functions work + DEFINES += NOMINMAX - # QWebkit is not needed on MS-Windows compilation environment - CONFIG -= webkit + # QWebkit is not needed on MS-Windows compilation environment + CONFIG -= webkit - release { - CONFIG -= console - DEFINES += QT_NO_DEBUG - } + # For release builds remove support for various Qt debugging macros. + CONFIG(release, debug|release) { + DEFINES += QT_NO_DEBUG + } - debug { + # For debug releases we just want the debugging console. + CONFIG(debug, debug|release) { 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 \ - -lsetupapi - -exists($$BASEDIR/lib/osg123) { -message("Building support for OSG") -DEPENDENCIES_PRESENT += osg - -# Include OpenSceneGraph -INCLUDEPATH += $$BASEDIR/lib/osgEarth/win32/include \ - $$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include -LIBS += -L$$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib \ - -losg \ - -losgViewer \ - -losgGA \ - -losgDB \ - -losgText \ - -lOpenThreads -DEFINES += QGC_OSG_ENABLED -} - - RC_FILE = $$BASEDIR/qgroundcontrol.rc + INCLUDEPATH += $$BASEDIR/lib/sdl/msvc/include \ + $$BASEDIR/lib/opal/include \ + $$BASEDIR/lib/msinttypes + + LIBS += -L$$BASEDIR/lib/sdl/msvc/lib \ + -lSDLmain -lSDL \ + -lsetupapi + + exists($$BASEDIR/lib/osg123) { + message("Building support for OSG") + DEPENDENCIES_PRESENT += osg + + # Include OpenSceneGraph + INCLUDEPATH += $$BASEDIR/lib/osgEarth/win32/include \ + $$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/include + LIBS += -L$$BASEDIR/lib/osgEarth_3rdparty/win32/OpenSceneGraph-2.8.2/lib \ + -losg \ + -losgViewer \ + -losgGA \ + -losgDB \ + -losgText \ + -lOpenThreads + DEFINES += QGC_OSG_ENABLED + } - # Copy dependencies - BASEDIR_WIN = $$replace(BASEDIR,"/","\\") - TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\") + RC_FILE = $$BASEDIR/qgroundcontrol.rc + # Copy dependencies + BASEDIR_WIN = $$replace(BASEDIR,"/","\\") + TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\") - CONFIG(debug, debug|release) { + CONFIG(debug, debug|release) { QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n)) - QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\files" "$$TARGETDIR_WIN\\debug\\files" /E /I $$escape_expand(\\n)) + QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\files" "$$TARGETDIR_WIN\\debug\\files" /E /I $$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\models" "$$TARGETDIR_WIN\\debug\\models" /E /I $$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\images\\earth.html" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\thirdParty\\libxbee\\lib\\libxbee.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n)) @@ -376,11 +328,11 @@ DEFINES += QGC_OSG_ENABLED QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$(QTDIR)\\bin\\QtWebKitd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$(QTDIR)\\bin\\QtXmld4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$(QTDIR)\\bin\\QtXmlPatternsd4.dll" "$$TARGETDIR_WIN\\debug"$$escape_expand(\\n)) - } + } - CONFIG(release, debug|release) { + CONFIG(release, debug|release) { QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n)) - QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\files" "$$TARGETDIR_WIN\\release\\files" /E /I $$escape_expand(\\n)) + QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\files" "$$TARGETDIR_WIN\\release\\files" /E /I $$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\models" "$$TARGETDIR_WIN\\release\\models" /E /I $$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\images\\earth.html" "$$TARGETDIR_WIN\\release\\earth.html" $$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$BASEDIR_WIN\\thirdParty\\libxbee\\lib\\libxbee.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n)) @@ -398,88 +350,84 @@ DEFINES += QGC_OSG_ENABLED QMAKE_POST_LINK += $$quote(xcopy /D /Y "$$(QTDIR)\\bin\\QtXmlPatterns4.dll" "$$TARGETDIR_WIN\\release"$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(del /F "$$TARGETDIR_WIN\\release\\qgroundcontrol.exp"$$escape_expand(\\n)) QMAKE_POST_LINK += $$quote(del /F "$$TARGETDIR_WIN\\release\\qgroundcontrol.lib"$$escape_expand(\\n)) - } + } } # Windows (32bit) win32-g++ { - message(Building for Windows Platform (32bit)) - - # Special settings for debug - CONFIG += CONSOLE - OUTPUT += CONSOLE + message(Building for Windows Platform (32bit)) - # The EIGEN library needs this define - # to make the internal min/max functions work - DEFINES += NOMINMAX + # Special settings for debug + CONFIG += CONSOLE + OUTPUT += CONSOLE - INCLUDEPATH += $$BASEDIR/lib/sdl/include \ - $$BASEDIR/lib/opal/include #\ #\ - #"C:\Program Files\Microsoft SDKs\Windows\v7.0\Include" + # The EIGEN library needs this define + # to make the internal min/max functions work + DEFINES += NOMINMAX - LIBS += -L$$BASEDIR/lib/sdl/win32 \ - -lmingw32 -lSDLmain -lSDL -mwindows \ - -lsetupapi + INCLUDEPATH += $$BASEDIR/lib/sdl/include \ + $$BASEDIR/lib/opal/include - CONFIG += windows + LIBS += -L$$BASEDIR/lib/sdl/win32 \ + -lmingw32 -lSDLmain -lSDL -mwindows \ + -lsetupapi + CONFIG += windows - debug { - #DESTDIR = $$BUILDDIR/debug - CONFIG += console - } - release { - CONFIG -= console - DEFINES += QT_NO_DEBUG - #DESTDIR = $$BUILDDIR/release - } - - RC_FILE = $$BASEDIR/qgroundcontrol.rc - - # Copy dependencies - - system(cp): { - # CP command is available, use it instead of copy / xcopy - message("Using cp to copy image and audio files to executable") - debug { - QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/SDL.dll - QMAKE_POST_LINK += && cp -r $$BASEDIR/files $$TARGETDIR/debug/files - 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/files $$TARGETDIR/release/files - QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/release/models - } - - } else { - # No cp command available, go for copy / xcopy - # Copy dependencies - BASEDIR_WIN = $$replace(BASEDIR,"/","\\") - TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\") + debug { + CONFIG += console + } - exists($$TARGETDIR/debug) { - QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\" - QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\files\" \"$$TARGETDIR_WIN\\debug\\files\\\" /S /E /Y - QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\debug\\models\\\" /S /E /Y - QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\images\\earth.html\" \"$$TARGETDIR_WIN\\debug\\earth.html\" - } + release { + CONFIG -= console + DEFINES += QT_NO_DEBUG + } - exists($$TARGETDIR/release) { - QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\release\\SDL.dll\" - QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\files\" \"$$TARGETDIR_WIN\\release\\files\\\" /S /E /Y - QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\release\\models\\\" /S /E /Y - QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\images\\earth.html\" \"$$TARGETDIR_WIN\\release\\earth.html\" - } + RC_FILE = $$BASEDIR/qgroundcontrol.rc + + # Copy dependencies + + system(cp): { + # CP command is available, use it instead of copy / xcopy + message("Using cp to copy image and audio files to executable") + debug { + QMAKE_POST_LINK += && cp $$BASEDIR/lib/sdl/win32/SDL.dll $$TARGETDIR/debug/SDL.dll + QMAKE_POST_LINK += && cp -r $$BASEDIR/files $$TARGETDIR/debug/files + 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/files $$TARGETDIR/release/files + QMAKE_POST_LINK += && cp -r $$BASEDIR/models $$TARGETDIR/release/models + } + + } else { + # No cp command available, go for copy / xcopy + # Copy dependencies + BASEDIR_WIN = $$replace(BASEDIR,"/","\\") + TARGETDIR_WIN = $$replace(TARGETDIR,"/","\\") + + exists($$TARGETDIR/debug) { + QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\debug\\SDL.dll\" + QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\files\" \"$$TARGETDIR_WIN\\debug\\files\\\" /S /E /Y + QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\debug\\models\\\" /S /E /Y + QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\images\\earth.html\" \"$$TARGETDIR_WIN\\debug\\earth.html\" + } + + exists($$TARGETDIR/release) { + QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\lib\\sdl\\win32\\SDL.dll\" \"$$TARGETDIR_WIN\\release\\SDL.dll\" + QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\files\" \"$$TARGETDIR_WIN\\release\\files\\\" /S /E /Y + QMAKE_POST_LINK += && xcopy \"$$BASEDIR_WIN\\models\" \"$$TARGETDIR_WIN\\release\\models\\\" /S /E /Y + QMAKE_POST_LINK += && copy /Y \"$$BASEDIR_WIN\\images\\earth.html\" \"$$TARGETDIR_WIN\\release\\earth.html\" + } -} + } - # osg/osgEarth dynamic casts might fail without this compiler option. - # see http://osgearth.org/wiki/FAQ for details. - QMAKE_CXXFLAGS += -Wl,-E + # osg/osgEarth dynamic casts might fail without this compiler option. + # see http://osgearth.org/wiki/FAQ for details. + QMAKE_CXXFLAGS += -Wl,-E } -# vim:ts=4:sw=4:expandtab diff --git a/qgroundcontrol.pro b/qgroundcontrol.pro index 60c1cfe8da58f1b6563d69094102086de158f603..3a6bf1c9af8241e611bac3c0b2ffa61fc64e1c8b 100644 --- a/qgroundcontrol.pro +++ b/qgroundcontrol.pro @@ -20,7 +20,7 @@ # Qt configuration CONFIG += qt \ - thread + thread QT += network \ opengl \ svg \ @@ -33,14 +33,14 @@ TEMPLATE = app TARGET = qgroundcontrol BASEDIR = $${IN_PWD} linux-g++|linux-g++-64{ -debug { - TARGETDIR = $${OUT_PWD}/debug - BUILDDIR = $${OUT_PWD}/build-debug -} -release { - TARGETDIR = $${OUT_PWD}/release - BUILDDIR = $${OUT_PWD}/build-release -} + debug { + TARGETDIR = $${OUT_PWD}/debug + BUILDDIR = $${OUT_PWD}/build-debug + } + release { + TARGETDIR = $${OUT_PWD}/release + BUILDDIR = $${OUT_PWD}/build-release + } } else { TARGETDIR = $${OUT_PWD} BUILDDIR = $${OUT_PWD}/build @@ -55,12 +55,12 @@ MAVLINKPATH = $$BASEDIR/thirdParty/mavlink/include DEFINES += MAVLINK_NO_DATA win32 { -QMAKE_INCDIR_QT = $$(QTDIR)/include -QMAKE_LIBDIR_QT = $$(QTDIR)/lib -QMAKE_UIC = "$$(QTDIR)/bin/uic.exe" -QMAKE_MOC = "$$(QTDIR)/bin/moc.exe" -QMAKE_RCC = "$$(QTDIR)/bin/rcc.exe" -QMAKE_QMAKE = "$$(QTDIR)/bin/qmake.exe" + QMAKE_INCDIR_QT = $$(QTDIR)/include + QMAKE_LIBDIR_QT = $$(QTDIR)/lib + QMAKE_UIC = "$$(QTDIR)/bin/uic.exe" + QMAKE_MOC = "$$(QTDIR)/bin/moc.exe" + QMAKE_RCC = "$$(QTDIR)/bin/rcc.exe" + QMAKE_QMAKE = "$$(QTDIR)/bin/qmake.exe" } @@ -398,8 +398,8 @@ contains(DEPENDENCIES_PRESENT, protobuf):contains(MAVLINK_CONF, pixhawk) { # Enable only if protobuf is available HEADERS += thirdParty/mavlink/include/pixhawk/pixhawk.pb.h \ - src/ui/map3D/ObstacleGroupNode.h \ - src/ui/map3D/GLOverlayGeode.h + src/ui/map3D/ObstacleGroupNode.h \ + src/ui/map3D/GLOverlayGeode.h } contains(DEPENDENCIES_PRESENT, libfreenect) { message("Including headers for libfreenect") @@ -535,7 +535,7 @@ contains(DEPENDENCIES_PRESENT, osg) { src/ui/map3D/Imagery.cc \ src/ui/map3D/HUDScaleGeode.cc \ src/ui/map3D/WaypointGroupNode.cc \ - src/ui/map3D/TerrainParamDialog.cc + src/ui/map3D/TerrainParamDialog.cc contains(DEPENDENCIES_PRESENT, osgearth) { message("Including sources for osgEarth") @@ -549,8 +549,8 @@ contains(DEPENDENCIES_PRESENT, protobuf):contains(MAVLINK_CONF, pixhawk) { # Enable only if protobuf is available SOURCES += thirdParty/mavlink/src/pixhawk/pixhawk.pb.cc \ - src/ui/map3D/ObstacleGroupNode.cc \ - src/ui/map3D/GLOverlayGeode.cc + src/ui/map3D/ObstacleGroupNode.cc \ + src/ui/map3D/GLOverlayGeode.cc } contains(DEPENDENCIES_PRESENT, libfreenect) { message("Including sources for libfreenect") @@ -588,19 +588,18 @@ TRANSLATIONS += es-MX.ts \ # xbee support # libxbee only supported by linux and windows systems -win32-msvc2008|win32-msvc2010|linux{ +win32-msvc2008|win32-msvc2010|linux { HEADERS += src/comm/XbeeLinkInterface.h \ - src/comm/XbeeLink.h \ - src/comm/HexSpinBox.h \ - src/ui/XbeeConfigurationWindow.h \ - src/comm/CallConv.h + src/comm/XbeeLink.h \ + src/comm/HexSpinBox.h \ + src/ui/XbeeConfigurationWindow.h \ + src/comm/CallConv.h SOURCES += src/comm/XbeeLink.cpp \ - src/comm/HexSpinBox.cpp \ - src/ui/XbeeConfigurationWindow.cpp + src/comm/HexSpinBox.cpp \ + src/ui/XbeeConfigurationWindow.cpp DEFINES += XBEELINK INCLUDEPATH += thirdParty/libxbee -# TO DO: build library when it does not exists already +# TO DO: build library when it does not exist already LIBS += -LthirdParty/libxbee/lib \ - -llibxbee - -} + -llibxbee +} \ No newline at end of file