mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-10-28 22:25:20 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			74 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Compiling on Windows using MSVC
 | |
| 
 | |
| ## 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)
 | |
| 
 | |
| 
 | |
| ## 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 gettext opengl-registry --triplet x64-windows
 | |
| ```
 | |
| 
 | |
| - `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.
 | |
| 
 | |
| 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
 | |
| 
 | |
| 1. Start up the CMake GUI
 | |
| 2. Select **Browse Source...** and select DIR/minetest
 | |
| 3. Select **Browse Build...** and select DIR/minetest-build
 | |
| 4. Select **Configure**
 | |
| 5. Choose the right visual Studio version and target platform. It has to match the version of the installed dependencies
 | |
| 6. Choose **Specify toolchain file for cross-compiling**
 | |
| 7. Click **Next**
 | |
| 8. Select the vcpkg toolchain file e.g. `D:/vcpkg/scripts/buildsystems/vcpkg.cmake`
 | |
| 9. Click Finish
 | |
| 10. Wait until cmake have generated the cash file
 | |
| 11. If there are any errors, solve them and hit **Configure**
 | |
| 12. Click **Generate**
 | |
| 13. Click **Open Project**
 | |
| 14. Compile Minetest inside Visual studio.
 | |
| 
 | |
| ### b) Using the vcpkg toolchain and the commandline
 | |
| 
 | |
| Run the following script in PowerShell:
 | |
| 
 | |
| ```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.
 | |
| 
 | |
| 
 | |
| ## Windows Installer using WiX Toolset
 | |
| 
 | |
| Requirements:
 | |
| * [Visual Studio 2017](https://visualstudio.microsoft.com/)
 | |
| * [WiX Toolset](https://wixtoolset.org/)
 | |
| 
 | |
| 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.
 |