All 3Ps include dirs are treated as SYSTEM, this will stop compilers
stop emitting warnings from those files and greatly helps having high
warning levels and not being swamped by warnings that come from
external libraries.
- Targets now define the appropriate c++ defines, no more hand magic needed for llstartup.cpp
- Switch cmakeflage to USE_xxx rather than xxx as it was before. I personally find the USE_X notion more intuitive and it follows how KDU is used.
- To be backward compatible OPENAL/FMODSTUDIO flag will be mapped to USE_OPENAL/USE_FMODSTUDIO
for example), the define it sets it used. The vrabiables it did set are
unused.
There is a case to probe for pulseaudio and this is the Linux volume
catcher. But for that it is only necessary to detect the system include
to get a few defines and functions
LEGACY_STDIO_LIBS (was only used for Windows)
PTHREAD_LIBRARY (only Linux)
LLDATABASE_LIBRARIES (that one was supposed for Linux, but never needed anyway)
This gets rid of the a few OS specific set and uses variables (which some even seemed mostly
duplicate like WINDOWS_LIBRARIES ans UI_LIBRARIES) and it also solves the problem of
having them to tack on every target, as of no they come as a transitive dependency from llcommon
According to davep, the intent of Debug GL is to crash and in this it's doing it's job, but the rest of the fix that makes the state not persist is a good solution.
RenderDebugGL was avaliable from develop menu, but since it was persistent, caused slowdowns and crashes it could result in users crashing or lagging without knowing the cause. To resolve the issue it was made to last for a single session.
The whole methode is questionable in doing nothing and it seems there was a deliberate change
that made sure it does nothing. I am not sure what this method really is supposed to do, thus I did opt
for the most basic version of "do nothing" like it was before.
(cherry picked from commit 1c1a93e42e209e959f09ec46ca414a8936f4ac20)