Project

General

Profile

Build Quassel on Windows » History » Version 35

romibi, 06/23/2016 10:20 PM

1 7 sph
h1. Building Quassel on Windows
2 1 sph
3 3 sph
{{toc}}
4 3 sph
5 1 sph
h2. Software Requirements
6 1 sph
7 1 sph
* Windows
8 32 romibi
* "Visual Studio 2015":https://www.visualstudio.com/en-us/downloads/download-visual-studio-vs.aspx
9 33 romibi
* "DirectX SDK":https://www.microsoft.com/en-us/download/details.aspx?id=6812
10 19 Datafreak
* "Visual C++ 2008 Redistributables":http://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2
11 19 Datafreak
* "Platform SDK":http://go.microsoft.com/fwlink/?LinkID=150217&clcid=0x409
12 28 romibi
* "OpenSSL":http://www.slproweb.com/products/Win32OpenSSL.html (Tested with: Win64 OpenSSL v1.0.2d)
13 28 romibi
* "Git for Windows":https://git-for-windows.github.io/ (>= 1.6.0.2)
14 32 romibi
* "CMake":https://cmake.org/download/ (>= 2.6.2)
15 32 romibi
* "Qt OpenSource SRC or Qt Installer":http://www.qt.io/download-open-source/#section-2 (Tested with Installer: Qt 5.6.0 for Windows 64-bit)
16 13 Datafreak
* "PostgreSQL":http://www.enterprisedb.com/products/pgdownload.do#windows (Optional for PostgreSQL-Support)
17 24 Datafreak
* "SlikSvn":http://www.sliksvn.com/en/download (Optional for Crypt-Support)
18 1 sph
19 1 sph
h2. Installation
20 1 sph
21 32 romibi
h3. Step 1: Install (and Update if necessary) Visual Studio 2015
22 1 sph
23 35 romibi
Make sure to install (the optional) C++ stuff …
24 1 sph
25 6 sph
h3. Step 2: Install Visual C++ 2008 Redistributables. 
26 1 sph
27 1 sph
These will be needed for OpenSSL.
28 28 romibi
(Comment: Still this old version?)
29 1 sph
30 1 sph
h3. Step 3: Install Platform SDK
31 35 romibi
32 35 romibi
(may be already installed by Visual Studio)
33 1 sph
34 1 sph
h3. Step 4: Install DirectX SDK
35 1 sph
36 28 romibi
If there's an S1023 error "see this link":https://support.microsoft.com/en-us/kb/2728613
37 28 romibi
It says to uninstall Visual C++ 2010 x64 Redistributable, install DirectX SDK and reinstall Redistributable...
38 28 romibi
(Comment: Should this step be done earlier?)
39 28 romibi
40 28 romibi
41 10 Datafreak
h3. Step 5: Install OpenSSL
42 5 sph
43 1 sph
The first error message can be ignored as the Redistributables were installed.
44 1 sph
45 10 Datafreak
h3. Step 6: Install Git
46 1 sph
47 1 sph
h3. Step 7: Install CMake
48 1 sph
49 34 romibi
Choose to "Add CMake to the system PATH" during install.
50 10 Datafreak
51 1 sph
h3. Step 8: Update the environment variables
52 1 sph
53 28 romibi
*Note: The correct paths can vary! Check your folders to find the correct ones! The Variables I had during a successful build are noted "somewhere here":http://pastebin.com/UjQtBNmL*
54 28 romibi
55 1 sph
Go to the system settings (Start => Control Panel => System), go to the "Advanced" tab and click on Environment Variables.
56 1 sph
57 23 Datafreak
First you'll have to edit the "Path" variable. Append the following to the current value:
58 1 sph
<pre>;C:\Programme\Microsoft SDKs\Windows\v7.0\Bin;C:\Program Files\Git\bin;C:\OpenSSL-Win32\bin</pre>
59 1 sph
60 1 sph
Next, create the following new system variables:
61 1 sph
62 23 Datafreak
* LIB: 
63 1 sph
<pre>C:\Programme\Microsoft SDKs\Windows\v7.0\Lib;C:\Programme\Microsoft DirectX SDK (February 2010)\Lib;C:\OpenSSL-Win32\lib\VC\static</pre>
64 19 Datafreak
65 1 sph
* INCLUDE:
66 23 Datafreak
<pre>C:\Programme\Microsoft SDKs\Windows\v7.0\Include;C:\Programme\Microsoft DirectX SDK (February 2010)\Include;C:\OpenSSL-Win32\include</pre>
67 19 Datafreak
68 11 Datafreak
* QMAKESPEC:
69 1 sph
<pre>win32-msvc2008</pre>
70 14 pennywise
71 31 romibi
h3. Step 9: (Optional Install PostgreSQL and Update the environment variables, tutorial not tested with Quassel 0.12)
72 12 Datafreak
73 12 Datafreak
Install PostgreSQL and edit the "Path","LIB" and "INCLUDE" variable. Append the following to the current value:
74 1 sph
* Path
75 12 Datafreak
<pre>;C:\Programme\PostgreSQL\8.4\bin</pre>
76 1 sph
77 1 sph
* LIB: 
78 12 Datafreak
<pre>;C:\Programme\PostgreSQL\8.4\lib</pre>
79 1 sph
80 12 Datafreak
* INCLUDE:
81 1 sph
<pre>;C:\Programme\PostgreSQL\8.4\include</pre>
82 12 Datafreak
83 28 romibi
h3. Step 10: (Compile and) Install Qt
84 12 Datafreak
85 28 romibi
Follow the instructions below or just install via installer and go to Step 11.
86 28 romibi
87 1 sph
Create a directory (e.g. C:\dev\) and unpack Qt.
88 11 Datafreak
89 28 romibi
Now open the Visual Studio command line.
90 1 sph
91 1 sph
And cd to the directory containing Qt. Now you can configure the Qt installation with the following command:
92 1 sph
* Static without PostgreSQL-Support:
93 23 Datafreak
<pre>configure.exe -platform win32-msvc2008 -static -release -qt-sql-sqlite -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -openssl-linked -confirm-license -opensource -no-phonon -no-dbus -webkit -nomake demos -nomake examples OPENSSL_LIBS="-lssleay32MD -llibeay32MD" -l gdi32 -l crypt32</pre>
94 12 Datafreak
* Shared with PostgreSQL-Support:
95 23 Datafreak
<pre>configure.exe -platform win32-msvc2008 -shared  -release -qt-sql-sqlite -qt-sql-psql -no-qt3support -qt-zlib -qt-gif -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -openssl-linked -confirm-license -opensource -phonon -phonon-backend -nomake demos -nomake examples OPENSSL_LIBS="-lssleay32MD -llibeay32MD" -l gdi32 -l crypt32</pre>
96 1 sph
97 1 sph
Then you can compiled Qt with these commands:
98 15 Datafreak
<pre>
99 1 sph
nmake
100 8 Datafreak
</pre>
101 1 sph
102 1 sph
You can close the prompt after this.
103 1 sph
104 1 sph
h3. Step 11: Update the environment variables again
105 12 Datafreak
106 28 romibi
*Note: The correct paths can vary! Check your folders to find the correct ones! The Variables I had during a successful build are noted "somewhere here":http://pastebin.com/UjQtBNmL*
107 28 romibi
108 32 romibi
After compiling and installing Qt, you will have to append the following:
109 1 sph
110 8 Datafreak
* Path
111 23 Datafreak
<pre>;C:\dev\qt-everywhere-opensource-src-4.6.3\bin</pre>
112 1 sph
113 1 sph
* LIB: 
114 1 sph
<pre>;C:\dev\qt-everywhere-opensource-src-4.6.3\lib</pre>
115 23 Datafreak
116 1 sph
* INCLUDE:
117 1 sph
<pre>;C:\dev\qt-everywhere-opensource-src-4.6.3\include</pre>
118 23 Datafreak
119 32 romibi
Or if you used the Qt-Installer the folders are somewhere around C:\Qt\Qt5.6.1\5.6\msvc2015_64\ or similiar
120 1 sph
121 31 romibi
h3. Step 12:(Optional for Crypt-Support, tutorial not tested with Quassel 0.12)
122 24 Datafreak
123 24 Datafreak
h4. Step 12.1 Install SlikSvn
124 24 Datafreak
125 24 Datafreak
h4. Step 12.2 Add SlikSvn to environment variables
126 24 Datafreak
* Path 
127 24 Datafreak
<pre>;C:\Programme\SlikSvn\bin\</pre>
128 24 Datafreak
129 24 Datafreak
h4. Step 12.3 Build QCA
130 24 Datafreak
<pre>cd C:\dev
131 24 Datafreak
mkdir qca-build
132 24 Datafreak
cd qca-build
133 24 Datafreak
svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/
134 24 Datafreak
mkdir qca2-build
135 24 Datafreak
cd qca2-build
136 24 Datafreak
cmake -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=C:\dev\qca -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..\qca
137 24 Datafreak
nmake
138 24 Datafreak
nmake install</pre>
139 24 Datafreak
140 1 sph
h4. Step 12.4 Add QCA to environment variables
141 1 sph
142 24 Datafreak
* Path
143 24 Datafreak
<pre>;C:\dev\qca\bin</pre>
144 24 Datafreak
145 1 sph
* LIB: 
146 1 sph
<pre>;C:\dev\qca\lib</pre>
147 1 sph
148 1 sph
* INCLUDE:
149 1 sph
<pre>;C:\dev\qca\include</pre>
150 1 sph
151 1 sph
h3. Step 13: Compile Quassel
152 1 sph
153 28 romibi
Open a new Visual Studio command line and go to the "C:\dev" directory again (or create it). Use git to download the Quassel source code.
154 28 romibi
<pre>git clone https://github.com/quassel/quassel.git</pre>
155 1 sph
156 1 sph
This will create a new directory "quassel" containing the source. When you want to update Quassel later, you just have to go to this directory (C:\dev\quassel) and do a "git pull" to update the source code.
157 28 romibi
158 31 romibi
Next, create a new directory in "C:\dev" in which Quassel will be built. In our case, we will simply call it "build". Change to this directory and enter the following command to configure Quassel:
159 28 romibi
160 28 romibi
With Visual Studio:
161 32 romibi
* Shared:
162 32 romibi
<pre>cmake -G"Visual Studio 14 Win64" C:\dev\quassel -DSTATIC=OFF -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON -DCMAKE_BUILD_TYPE=Release -DWITH_WEBKIT=ON -DLINK_EXTRA=crypt32 -DUSE_QT5=ON -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=ON</pre>
163 28 romibi
then open "QuasselIRC.sln"
164 28 romibi
Build->Configuration-Manager-> Switch from "Debug" to "Release"
165 32 romibi
Build->Build
166 28 romibi
I just copied the src\Release\quasselclient.exe to an existing official build but this link should help which files are needed in the Program folder: http://wiki.qt.io/Deploy_an_Application_on_Windows
167 28 romibi
additionally there should be an libeay32.dll and an ssleay32.dll from OpenSSL next to the exe
168 28 romibi
169 28 romibi
Or with nmake:
170 28 romibi
* Static: (old command?) 
171 23 Datafreak
<pre>cmake -G"NMake Makefiles" C:\dev\quassel -DSTATIC=ON -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON -DWITH_PHONON=OFF -DCMAKE_BUILD_TYPE=Release -DWITH_WEBKIT=OFF -DLINK_EXTRA=crypt32</pre>
172 28 romibi
* Shared: (old command?)
173 22 JabLuszko
<pre>cmake -G"NMake Makefiles" C:\dev\quassel -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON -DWITH_PHONON=ON -DWITH_WEBKIT=ON -DCMAKE_BUILD_TYPE=Release -DLINK_EXTRA=crypt32</pre>
174 22 JabLuszko
And after that:
175 22 JabLuszko
<pre>nmake</pre>
176 22 JabLuszko
This will build Quasselcore, Quasselclient and Quasselmonolithic which can be found in the "C:\dev\build" directory.
177 2 sph
178 2 sph
h2. Related links
179 2 sph
180 25 Datafreak
* [[DLL Requirement]]
181 2 sph
* "German tutorial by Datafreak":http://www.datafreak.eu/2008/11/build-qt-and-quassel-under-windows/
182 28 romibi
* "Notes: Building Quassel-Client 0.12.2 with link preview by romibi":http://pastebin.com/UjQtBNmL