Use a pragma around our use of that header to silence the warning. OSG
3.01 has these warnings, 3.2 has fixed them, but 3.2 doesn’t isn’t the
widely used release yet. So at some point when we upgrade to 3.2 this
will no longer be needed.
qserialport and qextserialport use the pattern of += into
PUBLIC_HEADERS and PRIVATE_HEADERS. This leads to the same header being
included twice. Which in turn causes the rule for moc in the makefile
to be added twice, hence the warning. Using *= instead of += removes
the duplication.
The latest version of qwt does have these warnings fixed. But the
latest version also has removed some deprecated printing functionality
which we are currently using. I gave a try at updating but it looked
fairly involved and over my level of understanding for that part of the
code. So pragmas for now. When someone does upgrade qwt the pragmas
will no longer be needed.
Either this location is incorrect, or it is an optional install that I
haven’t figured out how to get yet. Either way, this is failing
TeamCity Windows Releases builds which I want to turn on. So for now,
I’m disabling. I’ll figure out how to make it work correctly with my
work on generating windows installs.
Use a pragma around our use of that header to silence the warning. OSG
3.01 has these warnings, 3.2 has fixed them, but 3.2 doesn’t isn’t the
widely used release yet. So at some point when we upgrade to 3.2 this
will no longer be needed.
qserialport and qextserialport use the pattern of += into
PUBLIC_HEADERS and PRIVATE_HEADERS. This leads to the same header being
included twice. Which in turn causes the rule for moc in the makefile
to be added twice, hence the warning. Using *= instead of += removes
the duplication.
The latest version of qwt does have these warnings fixed. But the
latest version also has removed some deprecated printing functionality
which we are currently using. I gave a try at updating but it looked
fairly involved and over my level of understanding for that part of the
code. So pragmas for now. When someone does upgrade qwt the pragmas
will no longer be needed.
Either this location is incorrect, or it is an optional install that I
haven’t figured out how to get yet. Either way, this is failing
TeamCity Windows Releases builds which I want to turn on. So for now,
I’m disabling. I’ll figure out how to make it work correctly with my
work on generating windows installs.
This removes a race condition between both qwt and qt against math.h on
windows with _USE_MATH_DEFINES set. If math.h comes after qwt or qt
math headers the math defines will be redefined. Really nasty to track
down and ordering problems. So instead I just removed using math
defines on windows and fall back to asin definition of M_PI_2. This
will have some slight perf impact since it calls function instead of
using constant. But I doubt on any of today’s machine it really makes a
difference.
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.