Project

General

Profile

Build Quassel on Windows Mingw » History » Version 34

avih, 02/22/2013 10:32 PM

1 1 TheOneRing
h1. Build Quassel on Windows Mingw
2 1 TheOneRing
3 14 TheOneRing
h2. Build Quassel with QT only
4 13 TheOneRing
5 1 TheOneRing
h2. Software Requirements
6 2 seezer
7 1 TheOneRing
* "QT SDK":http://qt.nokia.com/downloads
8 19 TheOneRing
* "DBGHELP Mingw":http://dl.dropbox.com/u/6292727/dbghelp/dbghelp.zip
9 15 TheOneRing
* "CMake":http://www.cmake.org/cmake/resources/software.html
10 1 TheOneRing
11 1 TheOneRing
h2. Installation
12 1 TheOneRing
13 15 TheOneRing
h3. Step 1: Install QT SDK
14 1 TheOneRing
15 2 seezer
Download and install the QT SDK and select mingw to install with QT.
16 1 TheOneRing
17 19 TheOneRing
h3. Step 2: Install DBGHELP Mingw
18 1 TheOneRing
19 19 TheOneRing
If you are using  mingw w64 skip this step 
20 15 TheOneRing
21 34 avih
Download "DBGHELP Mingw":http://bugs.quassel-irc.org/attachments/download/412/dbghelp-mingw.zip and extract it over the mingw folder (make sure dbghelp.h ends up in mingw\include and similarly for the mingw\lib). (this file was compiled from "libdbghelp.7z":http://download.gna.org/warzone/development/libdbghelp.7z and "dbghelp.h":http://sourceforge.net/tracker/index.php?func=detail&aid=1660497&group_id=2435&atid=352435 , the latter no longer available).
22 1 TheOneRing
23 19 TheOneRing
h3. Step 3: Install CMake
24 1 TheOneRing
25 3 TheOneRing
26 20 TheOneRing
h2. Checkout Quassel
27 4 TheOneRing
28 3 TheOneRing
* "git clone git://gitorious.org/quassel/quassel.git"
29 1 TheOneRing
30 1 TheOneRing
h2. Compile Quassel
31 1 TheOneRing
32 1 TheOneRing
* open a command line
33 1 TheOneRing
* add mingw to your path  (set PATH=%PATH%;'mingwdir')
34 1 TheOneRing
* add cmake to your path (analog to mingw)
35 15 TheOneRing
* add QT to yo your path, 'qt\version'\qt\bin
36 1 TheOneRing
* switch to the directory where you checked out Quassel
37 1 TheOneRing
* type "mkdir build"
38 1 TheOneRing
* type "cd build"
39 1 TheOneRing
* type "cmake -G "MinGW Makefiles" .."
40 13 TheOneRing
* type "mingw32-make"
41 13 TheOneRing
42 13 TheOneRing
43 13 TheOneRing
h2. Build Quassel with Windows KDE
44 15 TheOneRing
45 13 TheOneRing
# got to the "Emerge Tutorial":http://techbase.kde.org/Getting_Started/Build/KDE4/Windows/emerge
46 13 TheOneRing
# check out emerge and set up the kdesettings.bat acording to the kde tutorial
47 22 TheOneRing
# install quassel "emerge quassel-qt"  or "emerge quassel" to build quassel with kdesupport, emerge will install all dependency's for you
48 13 TheOneRing
# when emerge has finished all jobs, start quassel
49 13 TheOneRing
50 1 TheOneRing
The steps above would also be possible with msvc2008
51 23 avih
52 26 avih
h3. Notes after following this guide with mingw which comes with QTSDK (1.2.1)
53 23 avih
54 23 avih
# Cmake can be downloaded "here":http://www.cmake.org/cmake/resources/software.html . I got the windows binary zip file, extracted it, and added the path of the 'bin' dir within it.
55 27 avih
# The mingw bin dir is @<QTSDK-dir>\mingw\bin@, the QT path is @<QTSDK-dir>\Desktop\Qt\4.81\mingw\bin@ .
56 1 TheOneRing
# The official 0.8 tarball failed to build after 80% with the following error (which I couldn't fix):
57 27 avih
<pre>
58 27 avih
mingw32-make[2]: *** No rule to make target `po/qt_cs.qm', needed by `po/CMakeFiles/po'.  Stop.
59 27 avih
mingw32-make[1]: *** [po/CMakeFiles/po.dir/all] Error 2
60 27 avih
mingw32-make: *** [all] Error 2
61 27 avih
</pre>
62 31 avih
# After successfully compiling the cloned git master from command line, I needed the following DLLs at the same dir as the exe: *QtCore4.dll QtGui4.dll QtNetwork4.dll QtWebKit4.dll libgcc_s_dw2-1.dll mingwm10.dll phonon4.dll*. These files can be copied from the mingw and the QT dirs, or from the win32 official quassel distribution package "here":http://quassel-irc.org/downloads (7-zip can extract the windows installer, these files are in there).
63 31 avih
# *QTCreator project* (not mandatory, but nice as IDE and for debugging):
64 30 avih
* Run QTCreator and click File -> Open File or Project
65 30 avih
* Choose the main CMakeList.txt file at the root of the source tree (the same dir with the INSTALL and README files).
66 30 avih
* Point to your cmake.exe file (which you download earlier).
67 32 avih
* Add the following arguments (make sure your qtsdk path matches): -DQT_QMAKE_EXECUTABLE=C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\qmake.exe -DCMAKE_BUILD_TYPE=RelWithDebInfo . Note that generally -DCMAKE_BUILD_TYPE=Debug should be better for breakpoints, but it crashed for me, and RelWithDebInfo didn't. YMMV.
68 30 avih
* Click run cmake. It should finish without errors, click Finish.
69 30 avih
* Once the project is open, click "Projects" at the left side, expand Details at the "Run Environment" section, click the line of the variable PATH, and add the QT path (e.g. c:/QtSDK/Desktop/Qt/4.8.1/mingw/bin).
70 30 avih
* Now you can edit the code, follow symbols, and should be able to build, breakpoint and single-step quassel.