GH-1263 update build instructions

This commit is contained in:
Petr Mrázek 2015-09-30 22:00:31 +02:00
parent e2fd299fc5
commit cf0308c970

125
BUILD.md
View File

@ -2,7 +2,9 @@ Build Instructions
================== ==================
# Contents # Contents
* [Note](#note) * [Note](#note)
* [Getting the source](#source)
* [Linux](#linux) * [Linux](#linux)
* [Windows](#windows) * [Windows](#windows)
* [OS X](#os-x) * [OS X](#os-x)
@ -14,60 +16,65 @@ That would be anything outside your home folder. Before runing `make install`, m
you set the install path to something you have write access to. Never build this under you set the install path to something you have write access to. Never build this under
an administrator/root level account. Don't use `sudo`. It won't work and it's not supposed to work. an administrator/root level account. Don't use `sudo`. It won't work and it's not supposed to work.
# Getting the source
Clone the source code using git and grab all the submodules:
```
git clone git@github.com:MultiMC/MultiMC5.git
git submodule init
git submodule update
```
# Linux # Linux
Getting the project to build and run on Linux is easy if you use Ubuntu 13.10 (or 13.04) and Qt's IDE, Qt Creator. Getting the project to build and run on Linux is easy if you use any modern and up-to-date linux distribution.
## Dependencies ## Build dependencies
* Qt 5.1.1+ Development tools (http://qt-project.org/downloads) ("Qt Online Installer for Linux (64 bit)") * Ideally a compiler capable of building C++14 code (for example, GCC 5.2 and above).
* A copy of the MultiMC source (clone it with git) * Qt 5.4.1+ Development tools (http://qt-project.org/downloads) ("Qt Online Installer for Linux (64 bit)") or the equivalent from your package manager
* cmake * cmake 3.1
* build-essential * zlib (for example, `zlib1g-dev`)
* zlib (for example, zlib1g-dev) * java (for example, `openjdk-8-jdk`)
* java (for example, openjdk-7-jdk) * GL headers (for example, `libgl1-mesa-dev`)
* GL headers (for example, libgl1-mesa-dev)
## Getting set up ### Installing Qt using the installer
1. Run the Qt installer.
### Installing dependencies 2. Choose a place to install Qt.
Just run `sudo apt-get install <dependency>` for each dependency (other than Qt and the MultiMC source) from above. 3. Choose the components you want to install.
- You need Qt 5.4.1/gcc 64-bit ticked.
### Installing Qt - You need Tools/Qt Creator ticked.
1. Run the Qt installer
2. Choose a place to install Qt,
3. Choose the components you want to install
- You need Qt 5.1.1/gcc 64-bit ticked,
- You need Tools/Qt Creator ticked,
- Other components are selected by default, you can untick them if you don't need them. - Other components are selected by default, you can untick them if you don't need them.
4. Accept the license agreements, 4. Accept the license agreements.
5. Double check the install details and then click "Install" 5. Double check the install details and then click "Install".
- Installation can take a very long time, go grab a cup of tea or something and let it work. - Installation can take a very long time, go grab a cup of tea or something and let it work.
### Loading the project ### Loading the project in Qt Creator
1. Open Qt Creator, 1. Open Qt Creator.
2. Choose File->Open File or Project, 2. Choose `File->Open File or Project`.
3. Navigate to the MultiMC5 source folder you cloned and choose CMakeLists.txt, 3. Navigate to the MultiMC5 source folder you cloned and choose CMakeLists.txt.
4. Read the instructions that just popped up about a build location and choose one, 4. Read the instructions that just popped up about a build location and choose one.
5. You should see "Run CMake" in the window, 5. You should see "Run CMake" in the window.
- Make sure that Generator is set to "Unix Generator (Desktop Qt 5.1.1 GCC 64bit)", - Make sure that Generator is set to "Unix Generator (Desktop Qt 5.4.1 GCC 64bit)".
- Hit the "Run CMake" button, - Hit the "Run CMake" button.
- You'll see warnings and it might not be clear that it succeeded until you scroll to the bottom of the window. - You'll see warnings and it might not be clear that it succeeded until you scroll to the bottom of the window.
- Hit "Finish" if CMake ran successfully. - Hit "Finish" if CMake ran successfully.
6. Cross your fingers and press the Run button (bottom left of Qt Creator)! 6. Cross your fingers and press the Run button (bottom left of Qt Creator).
- If the project builds successfully it will run and the MultiMC5 window will pop up. - If the project builds successfully it will run and the MultiMC5 window will pop up.
*These build instructions worked for me (Drayshak) on a fresh Ubuntu 13.10 x64 install. If they don't work for you, let us know on IRC (Esper/#MultiMC)!* **If this doesn't work for you, let us know on IRC ([Esper/#MultiMC](http://webchat.esper.net/?nick=&channels=MultiMC))!**
# Windows # Windows
Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt Creator. The project will simply not compile using VC's build tools as it uses some C++11 features that aren't implemented in it at the time of writing. Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt Creator. The project will simply not compile using Microsoft build tools, because that's not something we do. If it does compile, it is by chance only.
## Dependencies ## Dependencies
* Qt 5.1.1+ Development tools (http://qt-project.org/downloads) ("Qt Online Installer for Windows") * Qt 5.4.1+ Development tools (http://qt-project.org/downloads) ("Qt Online Installer for Windows")
* OpenSSL (http://slproweb.com/products/Win32OpenSSL.html) ("Win32 OpenSSL \<version\> Light") * OpenSSL (http://slproweb.com/products/Win32OpenSSL.html) ("Win32 OpenSSL \<version\> Light")
- Microsoft Visual C++ 2008 Redist. is required for this, there's a link on the OpenSSL download page above next to the main download. - Microsoft Visual C++ 2008 Redist. is required for this, there's a link on the OpenSSL download page above next to the main download.
* zlib 1.2.8+ (http://zlib.net/zlib128-dll.zip)
* CMake (http://www.cmake.org/cmake/resources/software.html) ("Windows (Win32 Installer)") * CMake (http://www.cmake.org/cmake/resources/software.html) ("Windows (Win32 Installer)")
* A copy of the MultiMC source (clone it with git)
## Getting set up ## Getting set up
@ -75,7 +82,7 @@ Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt
1. Run the Qt installer 1. Run the Qt installer
2. Choose a place to install Qt (C:\Qt is the default), 2. Choose a place to install Qt (C:\Qt is the default),
3. Choose the components you want to install 3. Choose the components you want to install
- You need Qt 5.1.1/MinGW 4.8 (32 bit) ticked, - You need Qt 5.4.1/MinGW 4.9 (32 bit) ticked,
- You need Tools/Qt Creator ticked, - You need Tools/Qt Creator ticked,
- Other components are selected by default, you can untick them if you don't need them. - Other components are selected by default, you can untick them if you don't need them.
4. Accept the license agreements, 4. Accept the license agreements,
@ -84,8 +91,8 @@ Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt
### Installing OpenSSL ### Installing OpenSSL
1. Run the OpenSSL installer, 1. Run the OpenSSL installer,
2. It's best to choose the option to copy OpenSSL DLLs to the /bin directory 2. It's best to choose the option to copy OpenSSL DLLs to the `/bin` directory
- If you do this you'll need to add that directory (the default being C:\OpenSSL-Win32\bin) to your PATH system variable (Google how to do this, or use this guide for Java: http://www.java.com/en/download/help/path.xml). - If you do this you'll need to add that directory (the default being `C:\OpenSSL-Win32\bin`) to your PATH system variable (Google how to do this, or use this guide for Java: http://www.java.com/en/download/help/path.xml).
### Installing CMake ### Installing CMake
1. Run the CMake installer, 1. Run the CMake installer,
@ -100,7 +107,7 @@ Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt
5. If you chose not to add CMake to the system PATH, tell Qt Creator where you installed it, 5. If you chose not to add CMake to the system PATH, tell Qt Creator where you installed it,
- Otherwise you can skip this step. - Otherwise you can skip this step.
6. You should see "Run CMake" in the window, 6. You should see "Run CMake" in the window,
- Make sure that Generator is set to "MinGW Generator (Desktop Qt 5.1.1 MinGW 32bit)", - Make sure that Generator is set to "MinGW Generator (Desktop Qt 5.4.1 MinGW 32bit)",
- Hit the "Run CMake" button, - Hit the "Run CMake" button,
- You'll see warnings and it might not be clear that it succeeded until you scroll to the bottom of the window. - You'll see warnings and it might not be clear that it succeeded until you scroll to the bottom of the window.
- Hit "Finish" if CMake ran successfully. - Hit "Finish" if CMake ran successfully.
@ -108,26 +115,34 @@ Getting the project to build and run on Windows is easy if you use Qt's IDE, Qt
- If the project builds successfully it will run and the MultiMC5 window will pop up, - If the project builds successfully it will run and the MultiMC5 window will pop up,
- Test OpenSSL by making an instance and trying to log in. If Qt Creator couldn't find OpenSSL during the CMake stage, login will fail and you'll get an error. - Test OpenSSL by making an instance and trying to log in. If Qt Creator couldn't find OpenSSL during the CMake stage, login will fail and you'll get an error.
*These build instructions worked for me (Drayshak) on a fresh Windows 8 x64 Professional install. If they don't work for you, let us know on IRC (Esper/#MultiMC)!* **These build instructions worked for me (Drayshak) on a fresh Windows 8 x64 Professional install. If they don't work for you, let us know on IRC ([Esper/#MultiMC](http://webchat.esper.net/?nick=&channels=MultiMC))!**
# OS X # OS X
### Install prerequisites: ### Install prerequisites:
1. install homebrew * install homebrew
2. brew install qt5 * then:
3. brew tap homebrew/versions
4. brew install gcc48 ```
5. brew install cmake brew install qt5
brew tap homebrew/versions
brew install gcc48
brew install cmake
```
### Build ### Build
1. git clone https://github.com/MultiMC/MultiMC5.git ```
2. cd MultiMC5 git clone https://github.com/MultiMC/MultiMC5.git
3. mkdir build git submodule init
4. cd build git submodule update
5. export CMAKE_PREFIX_PATH=/usr/local/opt/qt5 cd MultiMC5
6. export CC=/usr/local/bin/gcc-4.8 mkdir build
7. export CXX=/usr/local/bin/g++-4.8 cd build
8. cmake .. export CMAKE_PREFIX_PATH=/usr/local/opt/qt5
9. make export CC=/usr/local/bin/gcc-4.8
export CXX=/usr/local/bin/g++-4.8
cmake ..
make
```
*These build instructions were taken and adapted from https://gist.github.com/number5/7250865 If they don't work for you, let us know on IRC (Esper/#MultiMC)!* **These build instructions were taken and adapted from https://gist.github.com/number5/7250865 If they don't work for you, let us know on IRC ([Esper/#MultiMC](http://webchat.esper.net/?nick=&channels=MultiMC))!**