Project

General

Profile

Build Quassel on Windows Mingw » History » Version 46

TheOneRing, 04/09/2014 11:09 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 44 TheOneRing
* "python 3":https://www.python.org/
8 44 TheOneRing
* "Git":http://msysgit.github.io/
9 41 TheOneRing
* "QT 4.8.5":http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-win-opensource-4.8.5-mingw.exe
10 41 TheOneRing
11 41 TheOneRing
12 41 TheOneRing
h2. Installation
13 1 TheOneRing
14 41 TheOneRing
h3. Install Python
15 44 TheOneRing
16 41 TheOneRing
If you already have installed python you can skip this step.
17 1 TheOneRing
18 41 TheOneRing
h3. Install Git
19 44 TheOneRing
20 41 TheOneRing
If you already have installed python you can skip this step.
21 41 TheOneRing
22 41 TheOneRing
h3. Setup your installation directory
23 41 TheOneRing
Create the directory you will use as your ROOT directory for your quassel build.
24 1 TheOneRing
25 41 TheOneRing
h3. Install and setup emerge
26 44 TheOneRing
27 41 TheOneRing
First of all you need to checkout emerge using git.
28 41 TheOneRing
Open a powershell or instance, switch to your ROOT directory and clone emerge "git clone git://anongit.kde.org/emerge".
29 41 TheOneRing
Check out the latest stable branch which is currently "kde-4.12"("cd emerge" "git checkout kde-4.12").
30 41 TheOneRing
Create a "etc" folder in your ROOT directory.
31 42 TheOneRing
Save the following ini file to "ROOT/etc/kdesettings.ini" 
32 41 TheOneRing
33 41 TheOneRing
<pre>
34 41 TheOneRing
[General]
35 41 TheOneRing
#a fast make tool for cmake projects
36 41 TheOneRing
EMERGE_USE_NINJA = True
37 41 TheOneRing
KDECOMPILER = mingw4
38 41 TheOneRing
EMERGE_ARCHITECTURE = x86
39 41 TheOneRing
EMERGE_VERBOSE = 1
40 41 TheOneRing
EMERGE_NOCOPY = True
41 41 TheOneRing
#use jom, jom is a fast make tool
42 41 TheOneRing
EMERGE_MAKE_PROGRAM = jom
43 41 TheOneRing
#use gcc 4.4.7
44 41 TheOneRing
EMERGE_OPTIONS = features.legacyGCC=True
45 41 TheOneRing
46 41 TheOneRing
[Paths]
47 41 TheOneRing
DOWNLOADDIR = ${KDEROOT}\download
48 41 TheOneRing
KDEROOT = D:\quassel-noqt
49 41 TheOneRing
PYTHONPATH = C:\python34
50 41 TheOneRing
KDESVNDIR = ${DOWNLOADDIR}\svn
51 41 TheOneRing
KDEGITDIR = ${DOWNLOADDIR}\git
52 41 TheOneRing
53 41 TheOneRing
[ShortPath]
54 41 TheOneRing
EMERGE_USE_SHORT_PATH = False
55 41 TheOneRing
EMERGE_ROOT_DRIVE = u:
56 41 TheOneRing
EMERGE_SVN_DRIVE = s:
57 41 TheOneRing
EMERGE_GIT_DRIVE = q:
58 41 TheOneRing
EMERGE_DOWNLOAD_DRIVE = t:
59 41 TheOneRing
60 41 TheOneRing
[Version]
61 41 TheOneRing
EMERGE_SETTINGS_VERSION = 1
62 41 TheOneRing
63 41 TheOneRing
[Portage]
64 43 TheOneRing
PACKAGE_IGNORES =  win32libs/openssl;libs/qt;kde/kdelibs;kde/kde-runtime;kdesupport/phonon;kdesupport/phonon-ds9;binary/mysql-pkg;win32libs/dbus;dev-util/git;dev-util/subversion
65 41 TheOneRing
66 41 TheOneRing
</pre>
67 41 TheOneRing
Set KDEROOT to your ROOT directory for building quassel.
68 41 TheOneRing
Set PYTHONPATH to the location of your python installation.
69 41 TheOneRing
70 41 TheOneRing
Important is the value of PACKAGE_IGNORES here we disable all packages emerge wants to install by default.
71 41 TheOneRing
72 41 TheOneRing
In your powersehll instance go to ROOT/emerge and call ". kdeenv.ps1" the "." is important to load the script.
73 41 TheOneRing
74 41 TheOneRing
Lets start with emerging the compiler, "emerge mingw-w32".
75 41 TheOneRing
Now lets see what emerge wants to install, call "emerge -p quassel", if you see a package in the list of dependencies you don't want to install add it to PACKAGE_IGNORES.
76 41 TheOneRing
77 41 TheOneRing
78 1 TheOneRing
79 41 TheOneRing
h3. Install Qt 4.8.5
80 44 TheOneRing
81 41 TheOneRing
Install to your ROOT directory.
82 41 TheOneRing
When you get asked for the location of your mingw location set it to "ROOT/mingw" and ignore the warning.
83 41 TheOneRing
84 41 TheOneRing
h3. Build quassel
85 41 TheOneRing
Go to your powershell window, and enter "emerge quassel" now quassel and all dependencies for quassel should be automatically be build.