- 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.
While testing the previous commit on Windows I found that I could not
compile windows due to include of atlbase.h. This file is no longer
available in SDKs. It is only available in for money versions of VIsual
Studio. Luckily this include was not needed. So I just removed it and
Windows now builds again with just VS Express. Tested all changes on
OSX, Linux and Windows (including speech on windows, which still works).
Linux build was broken due to the fact that it wasn’t copying qml
files. With each build flavor having it’s own seperate copy code it was
easy for these to get out of sync. Centralized the copy list so that it
remains in sync across flavors.
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.