This commit is contained in:
mfeemster 2016-03-03 20:33:23 -08:00
commit a3fc875f3a
2 changed files with 98 additions and 50 deletions

View File

@ -12,15 +12,17 @@ Install the dependencies.
For Ubuntu 15.04 (vivid) and 15.10 (wily):
```
sudo apt-get install g++ libdbus-1-dev libgl1-mesa-dev libgl-dev libglm-dev libjpeg-dev libpng12-dev libtbb-dev libxml2-dev qt5-default qt5-qmake qtbase5-dev libqt5opengl5-dev ocl-icd-libopencl1
sudo apt-get install g++ libgl1-mesa-dev libgl-dev libglm-dev libjpeg-dev libpng12-dev libtbb-dev libxml2-dev qt5-default qt5-qmake qtbase5-dev libqt5opengl5-dev ocl-icd-libopencl1 ocl-icd-opencl-dev opencl-headers
```
Install the OpenCL drivers and opencl support for your hardware. For Nvidia:
Install the OpenCL drivers and opencl support for your hardware. For AMD get their drivers from their site, build and install .deb package. For Nvidia:
```
sudo apt-get install nvidia-352 nvidia-352-dev nvidia-opencl-icd-352 nvidia-libopencl1-352 nvidia-prime nvidia-modprobe
```
Note: There may be a more recent release on their site.
If you have both Qt 4 and 5 installed, select Qt 5 before compilation:
```

View File

@ -1,14 +1,31 @@
#Building Guide for Fractorium Using MSVC2013 and Qt Creator (64 bit)
##Requirements
#Build Guide for Fractorium Using MSVC2013 or Qt Creator (64 bit)
##Tools
###git
Install [git](https://git-scm.com/downloads).
###Visual Studio
Install [Microsoft Visual Studio 2013 or later](https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx), then install the latest updates.
Install Qt for Windows 64-bit (VS 2013) 5.4 or later (http://www.qt.io/download/).
###Qt
##Get this project
Open up the Visual Studio x64 Native Tools Command Prompt
Install Qt for Windows 64-bit (VS 2013) 5.5.x (http://www.qt.io/download/).
Add system environment variable named `QTPATH` and point it to the location of the Qt folder. On a default install, this will be something like:
`C:\Qt\Qt5.5.1\5.5\msvc2013_64`
###Wix
To build the installer, you must have Wix installed. If you are unconcerned with it, you can skip this step and just dismiss the warning that shows when opening the solution later. It's recommended you ignore the installer since official builds are provided on this page.
##Obtaining source
###This project
Open up the Visual Studio x64 Native Tools Command Prompt.
Create a new folder in your development area named fractorium:
@ -18,12 +35,13 @@ Create a new folder in your development area named fractorium:
`git clone https://github.com/mfeemster/fractorium.git`
##Prerequisites
###Prerequisites
There are six prerequisite dependencies. Two of them must be downloaded manually:
[libjpeg](http://www.ijg.org/)
[tbb](https://www.threadingbuildingblocks.org/download) (get the open source download)
[tbb](https://www.threadingbuildingblocks.org/download) (Intel provides executable only releases in addition to open source releases. You must get the open source release)
Extract them into the folder you created such that they are arranged like so:
@ -43,7 +61,7 @@ Go into the fractorium folder and run this script which will get the rest of the
This will download and build `glm libpng libxml zlib`. You will have a folder structure like this:
```
[YOUR ROOT FOLDER]
[fractorium]
├─glm
├─libjpeg
@ -63,26 +81,59 @@ This will download and build `glm libpng libxml zlib`. You will have a folder st
├─zlib.lib
```
##Begin build with Qt Creator:
Open the Qt Project `fractorium/main.pro` using Qt Creator with the default config of *Desktop Qt [version] MSVC2013 64bit*
Select *shadow build* in *Edit build configuration* for both *Debug* and *Release*
##Building with Qt Creator or Visual Studio
Switch to *Release* configuration for all projects and build main.pro.
###Begin build with Qt Creator
Open the Qt Project `fractorium/main.pro` using Qt Creator with the default config of *Desktop Qt [version] MSVC2013 64bit*.
Select *Shadow build* in *Edit build configuration* for both *Debug* and *Release*.
Switch to the *Release* configuration.
Under *Build Steps*, add an additional argument of `install` to the `make` command to force all dependencies to be copied to the output folder. The final make command should look like:
`jom.exe install in /path/to/your/build/build-main-Desktop_Qt_5_5_1_MSVC2013_64bit-Release`
Ensure all projects are in the *Release* configuration and build main.pro.
The outputs will be placed in `fractorium/Bin/release` several minutes later if no error occurs.
##Begin build with Visual Studio:
###Begin build with Visual Studio
####Visual Studio Qt Addon
Install the [Visual Studio Qt Addon](http://www.qt.io/download/).
Run Visual Studio and verify there is a menu item named *Qt5*. Click on it and click *Qt Options*.
Add a new Qt version to the list with the exact name of "Qt 5.5", and set its path to the same as `$QTPATH`, which will be something like:
`C:\Qt\Qt5.5.1\5.5\msvc2013_64`
The name "Qt 5.5" must match exactly and this step must be completed before the Fractorium solution is opened. If not, the Qt add-in will completely ruin all solution and project files that use Qt.
Set the default version to the newly created Qt version and click *Ok*.
Open the file Fractorium.sln under Builds/MSVC/2013
Set the configuration to release, and build all.
The outputs will be the same as with Qt Creator and will be placed in:
###Outputs
The outputs will be the same whether Visual Studio or Qt Creator was used, however their locations will be different.
Qt Creator will place its outputs in:
`fractorium/Bin/Release`
and Visual Studio will place its outputs in:
`fractorium/Bin/x64/Release`
Regardless of the IDE chosen, the output folder will have these contents:
The output contents will be:
```
dark.qss
Ember.dll
Ember.exp
Ember.lib
@ -92,24 +143,18 @@ EmberCL.exp
EmberCL.lib
embergenome.exe
emberrender.exe
flam3-palettes.xml
fractorium.exe
libxml2.dll
Qt5Core.dll
Qt5Gui.dll
Qt5Widgets.dll
tbb.dll
platforms\qwindows.dll
```
Double click fractorium.exe to run it, and use the command line to run the others.
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
```
Qt5.5.1\5.5\msvc2013_64\bin\Qt5Core.dll
Qt5.5.1\5.5\msvc2013_64\bin\Qt5Gui.dll
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")
Deps\libxml2.dll
Deps\tbb.dll
fractorium\Data\dark.qss
fractorium\Data\flam3-palettes.xml
```
To run on a computer without Visual Studio 2013, these files also need to be in the folder:
```
@ -118,31 +163,32 @@ 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)*
or you can install [Visual C++ Redistributable Packages for Visual Studio 2013 (64 bit)](https://www.microsoft.com/en-us/download/details.aspx?id=40784)
##Final file structure for distribution
```
[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)
├─ dark.qss
├─ Ember.dll
├─ emberanimate.exe
├─ EmberCL.dll
├─ embergenome.exe
├─ emberrender.exe
├─ flam3-palettes.xml
├─ fractorium.exe
├─ libxml2.dll
├─ Qt5Core.dll
├─ Qt5Gui.dll
├─ Qt5Widgets.dll
├─ tbb.dll
├─ vccorlib120.dll (optional)
├─ msvcp120.dll (optional)
├─ msvcr120.dll (optional)
└─platforms
qwindows.dll
├─qwindows.dll
```