Lol agreed Linux is so fugging easy. Literally just
Code:
./configure
make
make install
FOR EVERYTHING.
This is what I do to compile Citra.
Follow the MINGW64 instructions here:
https://github.com/citra-emu/citra/wiki/Building-for-Windows and ignore everything after '
Install citra dependancies for mingw-w64'
As far as I know MING64 is kind of a really shitty version of linux's CLI.
I also had this installed: https://git-for-windows.github.io/
Which is like a really shitty version of that CLI also. I should really install cygwin or something but I'm too lazy to figure out how to install stuff like MINGW64 on top of something like cygwin.
-----------------------------------------------------------
Then I right click
git bash
Code:
git clone --recursive -b bleeding_edge git://github.com/citra-emu/citra-bleeding-edge.git
cd citra-bleeding-edge
Basically it clones the source files to a directory.
Then I add placebo (lol)
Code:
git remote add FernandoS27 git://github.com/FernandoS27/citra.git
git fetch FernandoS27
git cherry-pick 18744ff7439d3de389600b6dc5004f9ebf6ed9ac --strategy-option theirs
'pparently it's an AVX fix which I just add just because.
Code:
git remote add wwylele git://github.com/wwylele/citra.git
git fetch wwylele
git cherry-pick 7fa3fe14b96ad1989a8f94200f7f0156e7ae8c8f --strategy-option theirs
This is the static camera which I add to bleeding edge just because.
I'm too lazy/can't be bothered to figure out how to resolve conflicts manually so these are the ones I add.
---------------------------------------------------------
Open MINGW64
Code:
cd c:/path/to/source
mkdir build && cd build
cmake -G "MSYS Makefiles" -D CMAKE_C_COMPILER=C:/msys64/mingw64/bin/gcc.exe -DCMAKE_CXX_COMPILER=C:/msys64/mingw64/bin/c++.exe -DCMAKE_BUILD_TYPE=Release -DCMAKE_MAKE_PROGRAM=mingw32-make -DCMAKE_C_FLAGS="-O3 -mtune=native -march=native" -DCMAKE_CXX_FLAGS="-DMICROPROFILE_ENABLED=0 -mtune=native -O3 -march=native" ..
mingw32-make -j4
After reading
https://wiki.gentoo.org/wiki/GCC_optimization these are the flags I added to make the run at MAXIMUM SPEED on my machine and no one else's. Developers keep complaining about flag optimisation but it's really not worth going with no flags in my opinion because it seems like a silly idea not to use whatever benefits you can scrape out of the CPU you paid for.
Once build is done go into the source files and search for
.exe (these are the citra files you want) (tfw no grep)
Paste
citra-qt.exe and
citra.exe into a folder.
Find all the DLLs for things in
C:/msys64/ and paste them into the folder:
http://i.imgur.com/GkaKOq8.png. These go in a folder called
platforms:
http://i.imgur.com/PddROER.png
Check another shared citra build if you aren't sure what ones you need to spend an hour copying and pasting.
IF YOU USE DLLS FROM SOMEONE ELSE'S BUILD RATHER THAN THE ONES IN YOUR MINGW64 FOLDER IT MIGHT NOT WORK BECAUSE OF AWFUL QT VERSIONING ISSUES → THIS TOOK ME ABOUT 5 HOURS TO FIGURE OUT
I've been repeating the steps ad infinitum every time a new bleeding edge build comes out because git pull on this particular project never fails to introduce conflicts for some reason because I'm too lazy and stupid to figure out
git rebase.
Although I guess I'll try this one from now on