Number of warnings is low enough now to let them come through. Lowered
Windows warning level the /W3 to be more consistent with OSX/Linux
level of warnings. Removed /WX from Windows build. I’ll put it back
once everything is cleaned up.
Still not working fully but more information is getting in there than
before. Also by removing VERSION from .pro it fixes problem with vs
proj being built incorrectly.
Made them more understandable for what is needed and for why. Removed
duplication and made sure builds used common settings across all OS
flavors. Removed mingw support for Windows since it was only partially
implemented.
- debug builds always compile unit tests in
- seperate qgcunittest.pro is no longer needed
- found out the hard way that you can’t use debug or release as a
scope. You need to use the CONFIG(debug,debug|relase) macro (in this
example to test fro debug). Reason is that debug and release show up
multiple times in CONFIG, last debug wins. This is what the CONFIG
macro does. Without it, it’s luck as to what you get. I found OSX was
getting debug, Linux was getting a debug build, build into release
directories. QT_DEBUG set randomly. Lot’s of problems.
- NAN not available in windows headers, use cross platform friendly
version
- VS compiler does not allow initializing non-integral types in header
files
- ActiveQt libs are already installed by Win Qt4.8.5, no need to build.
Plus this part of the makefile just loops without nmake.exe installed
which is not part of a standard windows box
The remainder of .pro and .pri files have conditional inclusion of
OpenSceneGraph bases on availability. Removed this line which always
includes it and overrides the conditional include which is already in
other parts of the make files.
Build files were broken for unit test. Seems to difficult to try to kep
qgroundcontrol.pro and qgcunittest.pro in sync with each other. Instead
I made qgcunittest.pro just include qgroundcontrol.pro. This required
some tweaks to allow TARGET to be set from the outside as well as to
leave out main.cc. Also needed to modify qgroundcontrol.pri to use
TARGET instead of hardcoding app name. This way it can build either
qgroundcontrol.pp or qgcunittest.app. At this point only works on osx.
This fixes a bunch of bugs with setting the title for widgets, deleting
widgets, etc. It also reduces the amount of code duplication, which is
always a good thing.