* Enable ffmpeg by default only on linux and msys2, it will be disabled
for normal windows builds and on mac.
* Set SFML_STATIC_LIBRARIES only for normal non-msys2 windows builds,
because msys2 does not currently have static versions of the SFML
sub-libraries, e.g. system, network, etc.. Dynamic linking works fine
for now.
* Fix quoting for -DLOCALEDIR, on windows spaces were causing errors in
make on msys2.
* Update to upstream FindSFML.cmake .
* Add an ./installdeps-msys2 script to install all necessary tools and
libraries on msys2 for building both 64 and 32 bit windows Wx binaries.
* Add the dependencies/mingw-xaudio/include directory to
INCLUDE_DIRECTORIES so that XAudio compiles on msys2, as mingw-w64 does
not currently have XAudio headers. Also check that the user pulled the
git submodule in the process (the ./installdeps-msys2 script does this
for you.)
TODO:
* Generalize ./installdeps to work on more platforms.
* Make console Wx app in debug mode so that debug prints will work.
* Fix game keyboard input for msys2 builds.
* Add HiDPI support for Windows.
* Fix the -D*DIR defines to have the correct paths on windows.
Add GetRealPixelClientSize() method to HiDPIAware and implement using
wx GetClientSize() in panel.cpp for the generic version, and using
convertSizeToBacking: in macsupport.mm .
Add an AdjustViewport() method to GLDrawingPanel that sets glViewport()
using GetRealPixelClientSize(), and call it for the SIZE event. Debug
print the viewport size here instead of in DrawingPanelInit().
Build improvements:
* default to Cairo off for all platforms, currently libcairo2-dev does
not install on Ubuntu
* default to ON for ENABLE_LINK and ENABLE_FFMPEG (for game recording),
this will allow for more fully-featured default builds
* do not set SFML_STATIC_LIBRARIES on Mac because this is currently
broken
* fix the Mac bundling/linking script to deal with links in dependent
libs that already use @rpath (very minor change.)
Pass the keyboard modifiers to process_key_press so that it only
registers a game key if the modifiers match. That is, if e.g. ENTER is a
game key, then ALT+ENTER gets passed to other Wx controls and does not
register as a game key.