mirror of
https://github.com/Detanup01/gbe_fork.git
synced 2025-04-21 21:52:06 +02:00
add all msys2 steps in a spoiler + note about the current state
This commit is contained in:
parent
5383987f66
commit
24a57319e5
1 changed files with 72 additions and 57 deletions
129
README.md
129
README.md
|
@ -62,7 +62,7 @@ You can also find instructions here in [README.release.md](./post_build/README.r
|
||||||
|
|
||||||
It is adviseable to always checkout submodules every now and then, to make sure they're up to date
|
It is adviseable to always checkout submodules every now and then, to make sure they're up to date
|
||||||
```shell
|
```shell
|
||||||
git submodule update --recursive --remote
|
git submodule update --init --recursive --remote
|
||||||
```
|
```
|
||||||
|
|
||||||
### For Windows:
|
### For Windows:
|
||||||
|
@ -71,20 +71,25 @@ You can also find instructions here in [README.release.md](./post_build/README.r
|
||||||
* Select the Workload `Desktop development with C++`
|
* Select the Workload `Desktop development with C++`
|
||||||
* In the `Individual componenets` scroll to the buttom and select the **latest** version of `Windows XX SDK (XX.X...)`
|
* In the `Individual componenets` scroll to the buttom and select the **latest** version of `Windows XX SDK (XX.X...)`
|
||||||
For example `Windows 11 SDK (10.0.22621.0)`
|
For example `Windows 11 SDK (10.0.22621.0)`
|
||||||
* Using `MSYS2` (very limited support): https://www.msys2.org/
|
* Using `MSYS2` **this is currently experimental and will not work due to ABI differences**: https://www.msys2.org/
|
||||||
* To build 64-bit binaries use either the [environment](https://www.msys2.org/docs/environments/) `UCRT64` or `MINGW64` then install the GCC toolchain
|
<details>
|
||||||
`UCRT64`
|
<summary>steps</summary>
|
||||||
```shell
|
|
||||||
pacman -S mingw-w64-ucrt-x86_64-gcc
|
* To build 64-bit binaries use either the [environment](https://www.msys2.org/docs/environments/) `UCRT64` or `MINGW64` then install the GCC toolchain
|
||||||
```
|
`UCRT64`
|
||||||
`MINGW64`
|
```shell
|
||||||
```shell
|
pacman -S mingw-w64-ucrt-x86_64-gcc
|
||||||
pacman -S mingw-w64-i686-gcc
|
```
|
||||||
```
|
`MINGW64`
|
||||||
* To build 32-bit binaries use the environment `MINGW32` then install the GCC toolchain
|
```shell
|
||||||
```shell
|
pacman -S mingw-w64-i686-gcc
|
||||||
pacman -S mingw-w64-i686-gcc
|
```
|
||||||
```
|
* To build 32-bit binaries use the environment `MINGW32` then install the GCC toolchain
|
||||||
|
```shell
|
||||||
|
pacman -S mingw-w64-i686-gcc
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
* Python 3.10 or above: https://www.python.org/downloads/windows/
|
* Python 3.10 or above: https://www.python.org/downloads/windows/
|
||||||
After installation, make sure it works
|
After installation, make sure it works
|
||||||
```batch
|
```batch
|
||||||
|
@ -131,26 +136,31 @@ The only times you'll need to rebuild them is either when their separete build f
|
||||||
#### On Windows:
|
#### On Windows:
|
||||||
Open CMD in the repo folder, then run the following
|
Open CMD in the repo folder, then run the following
|
||||||
* To build using `Visual Studio`
|
* To build using `Visual Studio`
|
||||||
```batch
|
```batch
|
||||||
set "CMAKE_GENERATOR=Visual Studio 17 2022"
|
set "CMAKE_GENERATOR=Visual Studio 17 2022"
|
||||||
third-party\common\win\premake\premake5.exe --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --verbose --os=windows vs2022
|
third-party\common\win\premake\premake5.exe --file=premake5-deps.lua --64-build --32-build --all-ext --all-build --verbose --os=windows vs2022
|
||||||
```
|
|
||||||
* To build using `MSYS2`
|
|
||||||
*(Optional)* In both cases below, you can use `Clang` compiler instead of `GCC` by running these 2 commands in the same terminal instance
|
|
||||||
```shell
|
|
||||||
export CC="clang"
|
|
||||||
export CXX="clang++"
|
|
||||||
```
|
|
||||||
* To build 64-bit binaries (`UCRT64` or `MINGW64`)
|
|
||||||
```shell
|
|
||||||
export CMAKE_GENERATOR="MSYS Makefiles"
|
|
||||||
./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --64-build --all-ext --all-build --verbose --os=windows gmake2
|
|
||||||
```
|
|
||||||
* To build 32-bit binaries (`MINGW32`)
|
|
||||||
```shell
|
|
||||||
export CMAKE_GENERATOR="MSYS Makefiles"
|
|
||||||
./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --32-build --all-ext --all-build --verbose --os=windows gmake2
|
|
||||||
```
|
```
|
||||||
|
* To build using `MSYS2` **this is currently experimental and will not work due to ABI differences**
|
||||||
|
<details>
|
||||||
|
<summary>steps</summary>
|
||||||
|
|
||||||
|
*(Optional)* In both cases below, you can use `Clang` compiler instead of `GCC` by running these 2 commands in the same terminal instance
|
||||||
|
```shell
|
||||||
|
export CC="clang"
|
||||||
|
export CXX="clang++"
|
||||||
|
```
|
||||||
|
* To build 64-bit binaries (`UCRT64` or `MINGW64`)
|
||||||
|
```shell
|
||||||
|
export CMAKE_GENERATOR="MSYS Makefiles"
|
||||||
|
./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --64-build --all-ext --all-build --verbose --os=windows gmake2
|
||||||
|
```
|
||||||
|
* To build 32-bit binaries (`MINGW32`)
|
||||||
|
```shell
|
||||||
|
export CMAKE_GENERATOR="MSYS Makefiles"
|
||||||
|
./third-party/common/win/premake/premake5.exe --file=premake5-deps.lua --32-build --all-ext --all-build --verbose --os=windows gmake2
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
This will:
|
This will:
|
||||||
* Extract all third party dependencies from the folder `third-party` into the folder `build\deps\win`
|
* Extract all third party dependencies from the folder `third-party` into the folder `build\deps\win`
|
||||||
|
@ -177,29 +187,6 @@ This will:
|
||||||
## **Building the emu**
|
## **Building the emu**
|
||||||
### On Windows:
|
### On Windows:
|
||||||
Open CMD in the repo folder, then run the following
|
Open CMD in the repo folder, then run the following
|
||||||
* For `MSYS2`
|
|
||||||
```shell
|
|
||||||
./third-party/common/win/premake/premake5.exe --file=premake5.lua --genproto --os=windows gmake2
|
|
||||||
|
|
||||||
cd ./build/project/gmake2/win
|
|
||||||
```
|
|
||||||
*(Optional)* You can use `Clang` compiler instead of `GCC` by running these 2 commands in the current terminal instance
|
|
||||||
```shell
|
|
||||||
export CC="clang"
|
|
||||||
export CXX="clang++"
|
|
||||||
```
|
|
||||||
* 64-bit build (`UCRT64` or `MINGW64`)
|
|
||||||
```shell
|
|
||||||
make config=release_x64 -j 8 all
|
|
||||||
```
|
|
||||||
* 32-bit build (`MINGW32`)
|
|
||||||
```shell
|
|
||||||
make config=release_x32 -j 8 all
|
|
||||||
```
|
|
||||||
To see all possible build targets
|
|
||||||
```shell
|
|
||||||
make help
|
|
||||||
```
|
|
||||||
* For `Visual Studio 2022`
|
* For `Visual Studio 2022`
|
||||||
```batch
|
```batch
|
||||||
third-party\common\win\premake\premake5.exe --file=premake5.lua --genproto --os=windows vs2022
|
third-party\common\win\premake\premake5.exe --file=premake5.lua --genproto --os=windows vs2022
|
||||||
|
@ -212,6 +199,34 @@ Open CMD in the repo folder, then run the following
|
||||||
msbuild /nologo /v:n /p:Configuration=release,Platform=x64 gbe.sln
|
msbuild /nologo /v:n /p:Configuration=release,Platform=x64 gbe.sln
|
||||||
```
|
```
|
||||||
|
|
||||||
|
* For `MSYS2` **this is currently experimental and will not work due to ABI differences**
|
||||||
|
<details>
|
||||||
|
<summary>steps</summary>
|
||||||
|
|
||||||
|
```shell
|
||||||
|
./third-party/common/win/premake/premake5.exe --file=premake5.lua --genproto --os=windows gmake2
|
||||||
|
|
||||||
|
cd ./build/project/gmake2/win
|
||||||
|
```
|
||||||
|
*(Optional)* You can use `Clang` compiler instead of `GCC` by running these 2 commands in the current terminal instance
|
||||||
|
```shell
|
||||||
|
export CC="clang"
|
||||||
|
export CXX="clang++"
|
||||||
|
```
|
||||||
|
* 64-bit build (`UCRT64` or `MINGW64`)
|
||||||
|
```shell
|
||||||
|
make config=release_x64 -j 8 all
|
||||||
|
```
|
||||||
|
* 32-bit build (`MINGW32`)
|
||||||
|
```shell
|
||||||
|
make config=release_x32 -j 8 all
|
||||||
|
```
|
||||||
|
To see all possible build targets
|
||||||
|
```shell
|
||||||
|
make help
|
||||||
|
```
|
||||||
|
|
||||||
|
</details>
|
||||||
|
|
||||||
This will build a release version of the emu in the folder `build\win\<toolchain>\release`
|
This will build a release version of the emu in the folder `build\win\<toolchain>\release`
|
||||||
An example script `build_win_premake.bat` is available, check it out
|
An example script `build_win_premake.bat` is available, check it out
|
||||||
|
|
Loading…
Add table
Reference in a new issue