Project

General

Profile

Build Quassel on Windows Mingw » History » Version 32

avih, 07/08/2012 01:04 AM

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 23 avih
Download "DBGHELP Mingw":http://dl.dropbox.com/u/6292727/dbghelp/dbghelp.zip and extract it to your mingw root. Alternatively, get "libdbghelp.7z":http://download.gna.org/warzone/development/libdbghelp.7z and extract libdbghelp.a to <mingw>/lib, and get dbghelp.h from "here":http://sourceforge.net/tracker/index.php?func=detail&aid=1660497&group_id=2435&atid=352435 and put it at <mingw>/include, however, I CANNOT VOUCH FOR THESE FILES, I just "fished" them from warzone2010 dev files and mingw's bug tracker, but they did work for me (-avih).
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 29 avih
# Fixed at 2012-07-07 (r0.9-pre-34-g2398c7e). -The cloned git maser (2012-07-05) failed at cmake due to unsupported QT_DBUS. I manually deleted 'DBus' from the quassel client CmakeList.txt file (quassel/src/client/CmakeList.txt) here:
63 27 avih
<pre>
64 23 avih
if(NOT WITH_QT5)
65 28 avih
  setup_qt_variables(Gui Network DBus)
66 27 avih
</pre>-
67 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).
68 31 avih
# *QTCreator project* (not mandatory, but nice as IDE and for debugging):
69 30 avih
* Run QTCreator and click File -> Open File or Project
70 30 avih
* Choose the main CMakeList.txt file at the root of the source tree (the same dir with the INSTALL and README files).
71 30 avih
* Point to your cmake.exe file (which you download earlier).
72 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.
73 30 avih
* Click run cmake. It should finish without errors, click Finish.
74 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).
75 30 avih
* Now you can edit the code, follow symbols, and should be able to build, breakpoint and single-step quassel.