mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-19 19:25:18 +02:00
Refactor windows.md
This commit is contained in:
@@ -2,38 +2,36 @@
|
||||
|
||||
## Requirements
|
||||
|
||||
- [Visual Studio 2015 or newer](https://visualstudio.microsoft.com)
|
||||
- [CMake](https://cmake.org/download/)
|
||||
- [vcpkg](https://github.com/Microsoft/vcpkg)
|
||||
- [Git](https://git-scm.com/downloads)
|
||||
* [Visual Studio 2015 or newer](https://visualstudio.microsoft.com)
|
||||
* [CMake](https://cmake.org/download/)
|
||||
* [vcpkg](https://github.com/Microsoft/vcpkg)
|
||||
* [Git](https://git-scm.com/downloads)
|
||||
|
||||
|
||||
## Compiling and installing the dependencies
|
||||
## Compiling and Installing the Dependencies
|
||||
|
||||
It is highly recommended to use vcpkg as package manager.
|
||||
|
||||
After you successfully built vcpkg you can easily install the required libraries:
|
||||
|
||||
```powershell
|
||||
vcpkg install zlib zstd curl[winssl] openal-soft libvorbis libogg libjpeg-turbo sqlite3 freetype luajit gmp jsoncpp opengl-registry gettext --triplet x64-windows
|
||||
```
|
||||
|
||||
- **Don't forget about IrrlichtMt.** The easiest way is to clone it to `lib/irrlichtmt`:
|
||||
* **Don't forget about IrrlichtMt.** The easiest way is to clone it to `lib/irrlichtmt`:
|
||||
|
||||
```bat
|
||||
for /F %i in (misc\irrlichtmt_tag.txt) do git clone --depth 1 --branch %i https://github.com/minetest/irrlicht.git lib\irrlichtmt
|
||||
```
|
||||
|
||||
- `curl` is optional, but required to read the serverlist, `curl[winssl]` is required to use the content store.
|
||||
- `openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound.
|
||||
- `luajit` is optional, it replaces the integrated Lua interpreter with a faster just-in-time interpreter.
|
||||
- `gmp` and `jsoncpp` are optional, otherwise the bundled versions will be compiled
|
||||
- `gettext` is optional, but required to use translations.
|
||||
* `curl` is optional, but required to read the serverlist, `curl[winssl]` is required to use the content store.
|
||||
* `openal-soft`, `libvorbis` and `libogg` are optional, but required to use sound.
|
||||
* `luajit` is optional, it replaces the integrated Lua interpreter with a faster just-in-time interpreter.
|
||||
* `gmp` and `jsoncpp` are optional, otherwise the bundled versions will be compiled.
|
||||
|
||||
There are other optional libraries, but they are not tested if they can build and link correctly.
|
||||
|
||||
Use `--triplet` to specify the target triplet, e.g. `x64-windows` or `x86-windows`.
|
||||
|
||||
|
||||
## Compile Minetest
|
||||
|
||||
### a) Using the vcpkg toolchain and CMake GUI
|
||||
@@ -53,7 +51,7 @@ Use `--triplet` to specify the target triplet, e.g. `x64-windows` or `x86-window
|
||||
13. Click **Open Project**
|
||||
14. Compile Minetest inside Visual studio.
|
||||
|
||||
### b) Using the vcpkg toolchain and the commandline
|
||||
### b) Using the Vcpkg Toolchain and the Command Line
|
||||
|
||||
Run the following script in PowerShell:
|
||||
|
||||
@@ -61,8 +59,8 @@ Run the following script in PowerShell:
|
||||
cmake . -G"Visual Studio 15 2017 Win64" -DCMAKE_TOOLCHAIN_FILE=D:/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_GETTEXT=OFF -DENABLE_CURSES=OFF
|
||||
cmake --build . --config Release
|
||||
```
|
||||
Make sure that the right compiler is selected and the path to the vcpkg toolchain is correct.
|
||||
|
||||
Make sure that the right compiler is selected and the path to the vcpkg toolchain is correct.
|
||||
|
||||
## Windows Installer using WiX Toolset
|
||||
|
||||
@@ -75,4 +73,4 @@ In the Visual Studio 2017 Installer select **Optional Features -> WiX Toolset**.
|
||||
Build the binaries as described above, but make sure you unselect `RUN_IN_PLACE`.
|
||||
|
||||
Open the generated project file with Visual Studio. Right-click **Package** and choose **Generate**.
|
||||
It may take some minutes to generate the installer.
|
||||
It may take some minutes to generate the installer.
|
Reference in New Issue
Block a user