shiiion / Ishiiruka

GNU General Public License v2.0
47 stars 6 forks source link

macOS - Make fails building XInput2Mouse.cpp.o #19

Closed amp-92 closed 3 years ago

amp-92 commented 3 years ago

When compiling on macOS (on both Mojave and Big Sur) CMake runs without any issues but make always fails when building XInput2Mouse.cpp.o with the following error:

[ 59%] Building CXX object Source/Core/InputCommon/CMakeFiles/inputcommon.dir/XInput2Mouse.cpp.o
In file included from /Users/a********r/Github-repos/Ishiiruka/Source/Core/InputCommon/XInput2Mouse.cpp:1:
/Users/a********r/Github-repos/Ishiiruka/Source/Core/InputCommon/XInput2Mouse.h:4:10: fatal error: 
      'X11/Xlib.h' file not found
#include <X11/Xlib.h>
         ^~~~~~~~~~~~
1 error generated.
make[2]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/XInput2Mouse.cpp.o] Error 1
make[1]: *** [Source/Core/InputCommon/CMakeFiles/inputcommon.dir/all] Error 2
make: *** [all] Error 2

I have XQuartz installed so X11 headers are present (I have found them in /opt/X11, via a symlink in /usr/X11 which points /opt/X11, in /usr/local/Cellar, symlinked from /usr/local/include and within the XCode app itself) and I have XCode and command line tools installed. I have tried running this on different volumes, reinstalling XQuartz, XCode and command line tools and then re-downloading the project and running CMake again, and explicitly telling the compiler to look in /opt/X11/include for the right headers using the following command before running make: export CXXFLAGS=-I/opt/X11/include

If there's anything else you need me to try please let me know.

SirMangler commented 3 years ago

We do not support macOS. Neither me or shiiion are in a position to develop for Mac, or to test and build any binaries for it. This file was written specifically for Linux X11 only. We're open to a pull request adding support for MacOs if you or any developer is interested, however as far as I'm concerned, this isn't a bug since it was never meant to work for Mac in the first place.

If you have any further questions, join our discord and see our developer channel.