fractorium/Data/BuildGuideQtCreator.md

147 lines
3.5 KiB
Markdown
Raw Normal View History

#Building Guide for Fractorium Using MSVC2013 and Qt Creator (64 bit)
##Requirements
2016-03-01 20:58:34 -05:00
Install [git](https://git-scm.com/downloads).
2016-03-01 20:58:34 -05:00
Install [Microsoft Visual Studio 2013 or later](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx), then install the latest updates.
2016-03-01 20:47:59 -05:00
Install Qt for Windows 64-bit (VS 2013) 5.4 or later (http://www.qt.io/download/).
2016-03-01 20:47:59 -05:00
##Get this project
Open up the Visual Studio x64 Native Tools Command Prompt
2016-03-01 20:58:34 -05:00
Create a new folder in your development area named fractorium:
2016-03-01 20:58:34 -05:00
`mkdir fractorium`
`cd fractorium`
`git clone https://github.com/mfeemster/fractorium.git`
2016-03-01 20:47:59 -05:00
##Prerequisites
2016-03-01 20:58:34 -05:00
There are six prerequisite dependencies. Two of them must be downloaded manually:
[libjpeg](http://www.ijg.org/)
2016-03-01 20:47:59 -05:00
[tbb](https://www.threadingbuildingblocks.org/download)
2016-03-01 20:47:59 -05:00
Extract them into the folder you created such that they are arranged like so:
2016-03-01 20:47:59 -05:00
```
[fractorium]
├─libjpeg
├─tbb
```
2016-03-01 20:58:34 -05:00
Go into the fractorium folder and run this script which will get the rest of the prerequisites from git and build them:
2016-03-01 20:47:59 -05:00
`cd fractorium
`makedeps.bat
2016-03-01 20:58:34 -05:00
This will download and build `glm libpng libxml zlib`. You will have a folder structure like this:
```
[YOUR ROOT FOLDER]
2016-03-01 20:47:59 -05:00
├─glm
├─libjpeg
├─libpng
├─libxml2
├─tbb
└─fractorium
2016-03-01 20:58:34 -05:00
├─Deps
├─libjpeg.lib
├─libpng.lib
├─libxml2.lib
├─libxml2.dll
├─tbb.dll
├─tbb.lib
├─zlib.lib
```
2016-03-01 20:58:34 -05:00
##Begin build with Qt Creator:
Open the Qt Project `fractorium/main.pro` using Qt Creator with config like *Desktop Qt 5.5.1 MSVC2013 OpenGL 64bit*
2016-03-01 20:47:59 -05:00
Select "shadow build" in "Edit build configuration" for both `Debug` and `Release`
2016-03-01 20:58:34 -05:00
Switch to `Release` configuration for all projects and build.
2016-03-01 20:58:34 -05:00
The outputs will be placed in `fractorium\Bin\release` several minutes later if no error occurs.
2016-03-01 21:00:02 -05:00
##Begin build with Visual Studio:
Open the file Fractorium.sln under Builds/MSVC/2013
Set the configuration to release, and build all.
The outputs will be the same and will be placed in:
`Bin/x64/Release
Regardless of the IDE chosen, the output folder will have these contents:
```
Ember.dll
Ember.exp
Ember.lib
emberanimate.exe
EmberCL.dll
EmberCL.exp
EmberCL.lib
embergenome.exe
emberrender.exe
fractorium.exe
```
2016-03-01 20:47:59 -05:00
To run it, just double click any of the .exe files.
To run it on a machine which does not have Qt installed, put the .exe and .dll files above along with these files together in one folder
2016-03-01 21:00:02 -05:00
```
Qt5.5.1\5.5\msvc2013_64\bin\Qt5Core.dll
Qt5.5.1\5.5\msvc2013_64\bin\Qt5Gui.dll
2016-03-01 20:47:59 -05:00
Qt5.5.1\5.5\msvc2013_64\bin\Qt5Widgets.dll
Qt5.5.1\5.5\msvc2013_64\plugins\platforms\qwindows.dll (put in folder "platforms")
2016-03-01 20:47:59 -05:00
Deps\libxml2.dll
Deps\tbb.dll
fractorium\Data\dark.qss
fractorium\Data\flam3-palettes.xml
```
2016-03-01 20:47:59 -05:00
To run on a computer without Visual Studio 2013, these files also need to be in the folder:
```
MSVC2013\VC\redist\x64\Microsoft.VC120.CRT\msvcp120.dll
MSVC2013\VC\redist\x64\Microsoft.VC120.CRT\msvcr120.dll
MSVC2013\VC\redist\x64\Microsoft.VC120.CRT\vccorlib120.dll
```
or you can install *Visual C++ Redistributable Packages for Visual Studio 2013 (64 bit)*
2016-03-01 20:47:59 -05:00
####Final file structure
```
[YOUR FOLDER]
│ dark.qss
│ Ember.dll
│ emberanimate.exe
│ EmberCL.dll
│ embergenome.exe
│ emberrender.exe
│ flam3-palettes.xml
│ fractorium.exe
│ libxml2.dll
│ Qt5Core.dll
│ Qt5Gui.dll
│ Qt5OpenGL.dll
│ Qt5Widgets.dll
│ tbb.dll
│ vccorlib120.dll (optional)
│ msvcp120.dll (optional)
│ msvcr120.dll (optional)
└─platforms
qwindows.dll
```