From db447d20754e623626d4b02c90b160982ed18d4a Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 18:55:49 -0800 Subject: [PATCH 1/8] Update BuildGuideQtCreator.md --- Data/BuildGuideQtCreator.md | 104 ++++++++++++++++++++++++------------ 1 file changed, 70 insertions(+), 34 deletions(-) diff --git a/Data/BuildGuideQtCreator.md b/Data/BuildGuideQtCreator.md index 4d4a262..0bfc858 100644 --- a/Data/BuildGuideQtCreator.md +++ b/Data/BuildGuideQtCreator.md @@ -1,14 +1,29 @@ -#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 binaries folder. On a default install, this will be something like: + +`C:\Qt\Qt5.5.1\5.5\msvc2013_64\bin` + +###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 +33,12 @@ 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 +58,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,7 +78,9 @@ This will download and build `glm libpng libxml zlib`. You will have a folder st ├─zlib.lib ``` -##Begin build with Qt Creator: +##Building with Qt Creator or Visual Studio + +###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* @@ -71,11 +88,28 @@ Switch to *Release* configuration for all projects 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 be one level higher than `$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. +###Outputs + The outputs will be the same as with Qt Creator and will be placed in: `fractorium/Bin/x64/Release` @@ -83,6 +117,7 @@ The outputs will be the same as with Qt Creator and will be placed in: Regardless of the IDE chosen, the output folder will have these contents: ``` +dark.qss Ember.dll Ember.exp Ember.lib @@ -92,7 +127,10 @@ EmberCL.exp EmberCL.lib embergenome.exe emberrender.exe +flam3-palettes.xml fractorium.exe +libxml2.dll +tbb.dll ``` Double click fractorium.exe to run it, and use the command line to run the others. @@ -104,10 +142,6 @@ 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 +152,33 @@ 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 +├─ Qt5OpenGL.dll +├─ Qt5Widgets.dll +├─ tbb.dll +│ +├─ vccorlib120.dll (optional) +├─ msvcp120.dll (optional) +├─ msvcr120.dll (optional) │ └─platforms - qwindows.dll + │ + ├─qwindows.dll ``` From 92baac41b34a896b85e91a7fe5cde67f81130365 Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 19:00:18 -0800 Subject: [PATCH 2/8] Update BuildGuideQtCreator.md --- Data/BuildGuideQtCreator.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Data/BuildGuideQtCreator.md b/Data/BuildGuideQtCreator.md index 0bfc858..9d48db1 100644 --- a/Data/BuildGuideQtCreator.md +++ b/Data/BuildGuideQtCreator.md @@ -94,7 +94,7 @@ The outputs will be placed in `fractorium/Bin/release` several minutes later if 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. +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 be one level higher than `$QTPATH`, which will be something like: @@ -102,7 +102,7 @@ Add a new Qt version to the list with the exact name of "Qt 5.5", and set its pa 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. +Set the default version to the newly created Qt version and click *Ok*. Open the file Fractorium.sln under Builds/MSVC/2013 From f19ac3ec2e72bd13b2669f735b151a70e5bd65ee Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 19:09:56 -0800 Subject: [PATCH 3/8] Update BuildGuideLinux.md --- Data/BuildGuideLinux.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Data/BuildGuideLinux.md b/Data/BuildGuideLinux.md index 8d250aa..affd4bc 100644 --- a/Data/BuildGuideLinux.md +++ b/Data/BuildGuideLinux.md @@ -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++ 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 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: ``` From 476869f80afd6e93e6fdd17d35b03e4859330e86 Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 19:14:42 -0800 Subject: [PATCH 4/8] Update BuildGuideLinux.md --- Data/BuildGuideLinux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Data/BuildGuideLinux.md b/Data/BuildGuideLinux.md index affd4bc..f5e19e0 100644 --- a/Data/BuildGuideLinux.md +++ b/Data/BuildGuideLinux.md @@ -12,7 +12,7 @@ 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 ocl-icd-opencl-dev opencl-headers +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 AMD get their drivers from their site, build and install .deb package. For Nvidia: From 79390a6ecf72da6d9ed51a9bfaca25032dcea7e2 Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 19:32:30 -0800 Subject: [PATCH 5/8] Update BuildGuideQtCreator.md --- Data/BuildGuideQtCreator.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Data/BuildGuideQtCreator.md b/Data/BuildGuideQtCreator.md index 9d48db1..b4f6040 100644 --- a/Data/BuildGuideQtCreator.md +++ b/Data/BuildGuideQtCreator.md @@ -13,9 +13,9 @@ Install [Microsoft Visual Studio 2013 or later](https://www.visualstudio.com/en- 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 binaries folder. On a default install, this will be something like: +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\bin` +`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. @@ -96,7 +96,7 @@ 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 be one level higher than `$QTPATH`, which will be something like: +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` From 0877625eb97ba0abdf50196fa6ca0d7e0217c581 Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 19:43:31 -0800 Subject: [PATCH 6/8] Update BuildGuideQtCreator.md --- Data/BuildGuideQtCreator.md | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/Data/BuildGuideQtCreator.md b/Data/BuildGuideQtCreator.md index b4f6040..f85be7d 100644 --- a/Data/BuildGuideQtCreator.md +++ b/Data/BuildGuideQtCreator.md @@ -130,20 +130,15 @@ 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") -``` - To run on a computer without Visual Studio 2013, these files also need to be in the folder: ``` @@ -170,7 +165,6 @@ or you can install [Visual C++ Redistributable Packages for Visual Studio 2013 ( ├─ libxml2.dll ├─ Qt5Core.dll ├─ Qt5Gui.dll -├─ Qt5OpenGL.dll ├─ Qt5Widgets.dll ├─ tbb.dll │ From 9cc0560545a318d954be52d3a7fd82115b75d417 Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 19:45:27 -0800 Subject: [PATCH 7/8] Update BuildGuideQtCreator.md --- Data/BuildGuideQtCreator.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Data/BuildGuideQtCreator.md b/Data/BuildGuideQtCreator.md index f85be7d..a3071c4 100644 --- a/Data/BuildGuideQtCreator.md +++ b/Data/BuildGuideQtCreator.md @@ -110,11 +110,17 @@ Set the configuration to release, and build all. ###Outputs -The outputs will be the same as with Qt Creator and will be placed in: +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: +Regardless of the IDE chosen, the output folder will have the same contents: ``` dark.qss From 0795776a5144bd62b6918ff77853a6877aebbe48 Mon Sep 17 00:00:00 2001 From: Matt Feemster Date: Thu, 3 Mar 2016 20:24:45 -0800 Subject: [PATCH 8/8] Update BuildGuideQtCreator.md --- Data/BuildGuideQtCreator.md | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Data/BuildGuideQtCreator.md b/Data/BuildGuideQtCreator.md index a3071c4..aa69577 100644 --- a/Data/BuildGuideQtCreator.md +++ b/Data/BuildGuideQtCreator.md @@ -18,11 +18,13 @@ Add system environment variable named `QTPATH` and point it to the location of t `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: @@ -34,6 +36,7 @@ Create a new folder in your development area named fractorium: `git clone https://github.com/mfeemster/fractorium.git` ###Prerequisites + There are six prerequisite dependencies. Two of them must be downloaded manually: [libjpeg](http://www.ijg.org/) @@ -80,15 +83,22 @@ This will download and build `glm libpng libxml zlib`. You will have a folder st ##Building with Qt Creator or Visual Studio -###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* +###Begin build with Qt Creator -Switch to *Release* configuration for all projects and build main.pro. +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 @@ -120,7 +130,7 @@ and Visual Studio will place its outputs in: `fractorium/Bin/x64/Release` -Regardless of the IDE chosen, the output folder will have the same contents: +The output contents will be: ``` dark.qss