This is a workaround for the blurry display we get on retina screen
when building with SDK 10.14 or above. Unsetting the SDK version
in the executable is sufficient to avoid the issue. See bug
similar change in LibreOffice.
The workaround can only be used with Xcode 11 or above. When using
configure it automatically detects if the workaround can be used.
The workaround is disabled by default in create_project and needs
to be enabled manually (uncomment the MACOSX_NO_SDKVERSION define
at the top of the xcode.cpp file).
With the project including both iOS and macOS targets, using an
absolute path ensures it is incorrect for one of those. Since it was
using /usr/local/lib/ all the paths had to be changed in Xcode to
build the iOS target.
Also as the paths where we expect the libraries to be (/usr/local/lib
on macOS and lib under the build directory for iOS) are added to the
search path in the Xcode project, we do not actually need to use
absolute path). Also this make it easier to use a different path for
libraries (e.g. if using MacPort or brew) as we only need to change
the search path setting in the Xcode project and not the
path for each library).
This fixes an OpenGL renderer issue for builds with MSYS2/Mingw64 or MSYS2/Mingw32
The issue pertains to MSYS2 adding a default manifest file (default-manifest.o) to the executable
The bug is for PC systems with GPU drivers that were not properly supported for Windows 10
systems, like Intel HD Graphics series 1st and 2nd generations. In those systems, launching a
game in ScummVM (built with MSYS2/Mingw) with the OpenGL renderer would cause the game
screen to be a white blank image, and various warnings would be output to the console, eg.
"WARNING: GL ERROR: GL_INVALID_ENUM on glTexSubImage2D(0x0DE1, 0, 0, area.top, src.w, area.height(), _glFormat, _glType, src.gere.cpp:167)!"
This was due to MSYS2/Mingw builds trying to load the (poorly supported) GPU driver while advertising support for Windows 10 in their
embedded default Manifest file. Hence, the GPU driver DLL (eg ig4icd64.dll) would be unloaded, causing the bug.
More information is available in the following links:
https://github.com/pal1000/save-legacy-intel-graphicshttps://github.com/LWJGL/lwjgl/issues/119https://github.com/msys2/MSYS2-packages/issues/454https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69880
Credits to sluicebox for the VS GenerateManifest flag
Rewriting the define list from scratch to disable nasm lost
a lot of important defines set up in the setup phase.
Instead, let's just remove the nasm define and preserve the rest.