mavlink/qgroundcontrol — pull request #459 by DonLakeFlyer (2014-01-02 20:10:07+00:00)
Title: Project file cleanup

Went through a pretty major cleanup of the project files after finding lots of problems with differences across OS build types as well as things that were wrong in one config or another. Stuff was just too scattered around to multiple places to be able to keep things in sync across the build types. In order to fix that I restructured into three separate files:

qgroundcontrol.pro - contains the main build settings and source information
QGCExternalLibs.pri - configuration for libraries, organized by library, so for example if you want to see how OpenSceneGraph is being used you can go to just one section of this file to find all settings for all OS'es
QGCSetup.pri - this contains the post link build processing

Another important note is that these changes make build directories consistent across OS'es. build-debug will hold intermediate files, and debug directory will hold application.

I found that the entire mavlink directory was being copied to the executable directory (but only on Windows and OSX). Not sure if this was on purpose as some sort of distribution mechanism or if it was there thinking it was needed to make the app work, which it is not. So I removed that copying. If this was there for a distribution mechanism for MAVLINK let me know and I'll put it back. In that case I assume it should be there for all OS'es.

Along the way I removed support for:
32 bit mac - do 32 bit macs even exist any more
mingw - this was pretty out of whack, instead of trying to fix it I removed it

I built all of this on all OS'es and tested as many combinations of the optional libs as I could. Here is what I discovered:
- libreenect Kinect support does not compile, not associated with my changes, broken in master as well
- voice doesn't seem to work in Linux, not related to my changes since it doesn't work in master for me either
- I was able to build with protocol buffers but because of the OSG+Parallels problems I couldn't go much further than that