Building Quassel on Windows

Software Requirements

Installation

Step 1: Install (and Update if necessary) Visual Studio Express 2013

Step 2: Install Visual C++ 2008 Redistributables.

These will be needed for OpenSSL.
(Comment: Still this old version?)

Step 3: Install Platform SDK

Step 4: Install DirectX SDK

If there's an S1023 error see this link
It says to uninstall Visual C++ 2010 x64 Redistributable, install DirectX SDK and reinstall Redistributable...
(Comment: Should this step be done earlier?)

Step 5: Install OpenSSL

The first error message can be ignored as the Redistributables were installed.

Step 6: Install Git

Step 7: Install CMake

Step 8: Update the environment variables

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

Go to the system settings (Start => Control Panel => System), go to the "Advanced" tab and click on Environment Variables.

First you'll have to edit the "Path" variable. Append the following to the current value:

;C:\Programme\Microsoft SDKs\Windows\v7.0\Bin;C:\Program Files\Git\bin;C:\OpenSSL-Win32\bin

Next, create the following new system variables:

  • LIB:
    C:\Programme\Microsoft SDKs\Windows\v7.0\Lib;C:\Programme\Microsoft DirectX SDK (February 2010)\Lib;C:\OpenSSL-Win32\lib\VC\static
  • INCLUDE:
    C:\Programme\Microsoft SDKs\Windows\v7.0\Include;C:\Programme\Microsoft DirectX SDK (February 2010)\Include;C:\OpenSSL-Win32\include
  • QMAKESPEC:
    win32-msvc2008

Step 9: (Optional Install PostgreSQL and Update the environment variables, tutorial not tested with Quassel 0.12)

Install PostgreSQL and edit the "Path","LIB" and "INCLUDE" variable. Append the following to the current value:
  • Path
    ;C:\Programme\PostgreSQL\8.4\bin
  • LIB:
    ;C:\Programme\PostgreSQL\8.4\lib
  • INCLUDE:
    ;C:\Programme\PostgreSQL\8.4\include

Step 10: (Compile and) Install Qt

Follow the instructions below or just install via installer and go to Step 11.

Create a directory (e.g. C:\dev\) and unpack Qt.

Now open the Visual Studio command line.

And cd to the directory containing Qt. Now you can configure the Qt installation with the following command:
  • Static without PostgreSQL-Support:
    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
  • Shared with PostgreSQL-Support:
    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

Then you can compiled Qt with these commands:

nmake

You can close the prompt after this.

Step 11: Update the environment variables again

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

After installing Qt, you will have to append the following:

  • Path
    ;C:\dev\qt-everywhere-opensource-src-4.6.3\bin
  • LIB:
    ;C:\dev\qt-everywhere-opensource-src-4.6.3\lib
  • INCLUDE:
    ;C:\dev\qt-everywhere-opensource-src-4.6.3\include

Step 12:(Optional for Crypt-Support, tutorial not tested with Quassel 0.12)

Step 12.1 Install SlikSvn

Step 12.2 Add SlikSvn to environment variables
  • Path
    ;C:\Programme\SlikSvn\bin\

Step 12.3 Build QCA
cd C:\dev
mkdir qca-build
cd qca-build
svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/qca/
mkdir qca2-build
cd qca2-build
cmake -DBUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=C:\dev\qca -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..\qca
nmake
nmake install

Step 12.4 Add QCA to environment variables

  • Path
    ;C:\dev\qca\bin
  • LIB:
    ;C:\dev\qca\lib
  • INCLUDE:
    ;C:\dev\qca\include

Step 13: Compile Quassel

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.

git clone https://github.com/quassel/quassel.git

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.

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:

With Visual Studio:
  • Shared, without link preview (command not tested):
    cmake -G"Visual Studio 12 Win64" C:\dev\quassel -DSTATIC=OFF -DWANT_CORE=ON -DWANT_QTCLIENT=ON -DWANT_MONO=ON -DWITH_PHONON=OFF -DCMAKE_BUILD_TYPE=Release -DWITH_WEBKIT=OFF -DLINK_EXTRA=crypt32 -DUSE_QT5=ON -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=ON
  • Shared, with link preview, client only:
    cmake -G"Visual Studio 12 Win64" C:\dev\quassel -DSTATIC=OFF -DWANT_CORE=OFF -DWANT_QTCLIENT=ON -DWANT_MONO=OFF -DDCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON -DCMAKE_BUILD_TYPE=Release -DWITH_WEBKIT=ON -DLINK_EXTRA=crypt32 -DUSE_QT5=ON -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DBus=ON

    then open "QuasselIRC.sln"
    click on project "quasselclient", "quasselcore" or "quassel"
    Build->Configuration-Manager-> Switch from "Debug" to "Release"
    Build->Build quasselclient/quasselcore/quassel
    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
    additionally there should be an libeay32.dll and an ssleay32.dll from OpenSSL next to the exe
Or with nmake:
  • Static: (old command?)
    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
  • Shared: (old command?)
    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

    And after that:
    nmake

    This will build Quasselcore, Quasselclient and Quasselmonolithic which can be found in the "C:\dev\build" directory.

Related links