Post FlightGear 2020.2 LTS changes: Difference between revisions

Jump to navigation Jump to search
m
→‎Current status: https://sourceforge.net/p/flightgear/mailman/message/37041064/
m (→‎Possible additional items: separate canvas pre-render camera, as per devel list comments from Tim & Mathias)
m (→‎Current status: https://sourceforge.net/p/flightgear/mailman/message/37041064/)
Line 1: Line 1:
== Current status ==
'''06/2020''':
James has pushed some configuration changes to next (SG+FG) to raise various required versions of things.
If you’re developing on ‘something fairly recent’, you shouldn’t see any difference except it would be a wise time to wipe your build dirs and re-CMake from clean. If you’re on a ‘somewhat older’ Linux, the baselines being Ubuntu 18.04 (their previous LTS) and CentOS 7 (which our Jenkins runs), you should also be fine except for GCC, where you will need a version supporting C++14: in practice this means GCC 5.x or higher. (Or use Clang…) For both of these distros there are officially supported ways to get newer GCCs (we’re actually using GCC 9 on Jenkins now..), so I don’t expect this to be a problem.
As part of this we now require CMake 3.10, Qt 5.9 and OSG 3.4.1, and I’ve started removing various legacy pieces from next around this. There are plenty more cleanups that can be done based on this : especially on the CMake and C++ sides. Things like Boost -> Std stuff, Cmake targets-as-objects support (eg, target_compile_features can be used now).
Windows and macOS should be unaffected BTW - because on those platforms you're always running something you downloaded which is fairly up to date. If you choose to go and download an ancient version of CMake or Qt, on either platform that’s your problem to fix - but you’ll get a configuration error at least.
The idea of doing this /now/ is that the build deps won’t change again during the next two years, barring any surprises.
None of this affects the release branches of course: they continue to work with OSG 3.2, GCC 4.x, Qt 5.4 and CMake 3.0. And you shouldn’t see any behavioural changes because of this either.
Let’s see if reality corresponds to all the theory above :)<ref>https://sourceforge.net/p/flightgear/mailman/message/37041064/</ref>
== Code clean-ups and changes ==
== Code clean-ups and changes ==


Line 13: Line 29:
# Drop the KLN-89 code, since it's unused and not maintained for a long time: Canvas and the regular GPS code can easily implement a working KLN-89 or similar equipment now <ref>https://sourceforge.net/p/flightgear/mailman/message/36327950/</ref>
# Drop the KLN-89 code, since it's unused and not maintained for a long time: Canvas and the regular GPS code can easily implement a working KLN-89 or similar equipment now <ref>https://sourceforge.net/p/flightgear/mailman/message/36327950/</ref>
# Switch to Compositor mode as the only rendering option <sub>{{Merge-request|project=flightgear|id=213 }}, {{Merge-request|project=simgear|id=78 }} {{Merge-request|project=fgdata|id=200 }}</sub> {{Progressbar|70}} <ref>https://sourceforge.net/p/flightgear/mailman/message/36606242/</ref><ref>https://sourceforge.net/p/flightgear/mailman/message/37039397/</ref><ref>https://sourceforge.net/p/flightgear/mailman/message/37040359/</ref>
# Switch to Compositor mode as the only rendering option <sub>{{Merge-request|project=flightgear|id=213 }}, {{Merge-request|project=simgear|id=78 }} {{Merge-request|project=fgdata|id=200 }}</sub> {{Progressbar|70}} <ref>https://sourceforge.net/p/flightgear/mailman/message/36606242/</ref><ref>https://sourceforge.net/p/flightgear/mailman/message/37039397/</ref><ref>https://sourceforge.net/p/flightgear/mailman/message/37040359/</ref>
# Drop Rembrandt support from C++ (really part of the above) <ref>https://sourceforge.net/p/flightgear/mailman/message/36340736/</ref>
# Drop [[Rembrandt]] support from C++ (really part of the above) <ref>https://sourceforge.net/p/flightgear/mailman/message/36340736/</ref>
# Drop the C++ NavDisplay : the Canvas version replaces it <ref>https://sourceforge.net/p/flightgear/mailman/message/36975265/</ref>
# Drop the C++ [[NavDisplay]] : the Canvas version replaces it <ref>https://sourceforge.net/p/flightgear/mailman/message/36975265/</ref>


== Carriers and AI ==
== Carriers and AI ==

Navigation menu