Or maybe we should just act as if QMake didn't exist and just try
[obnox/wireshark/wip.git] / doc / README.qt
1 0. Abstract
2
3 Wireshark's user interface is showing its age. While GTK+ is wonderful on
4 Linux and BSD its low-tier status on Windows and even-lower-tier status on OS
5 X makes it hard to deliver a good product to users on those platforms.
6
7 The Qt port is an attempt at an updated UI which will better serve our users
8 and let us add features more easily.
9
10
11 1. Getting up and running
12
13 The Qt interface for Wireshark has been compiled and tested on Mac OS X 10.6
14 (XCode gcc), Windows 7 x86 (Visual C++ 2010), and Ubuntu 10.04 (gcc).
15 Compilation via Qt Creator has been tested but command-line compilation using
16 QMake and make or nmake should work.
17
18 The ui/qt directory is loosely coupled with the rest of the codebase. The main
19 Wireshark sources must be built beforehand using CMake on Linux and OS X and
20 nmake on Windows. Autotools + QMake is a basket full of crazy that hasn't yet
21 been sorted and folded.  (Autotools + Boring Old Make, without using
22 QMake at all, might actually be simpler:
23
24         http://www.mail-archive.com/automake@gnu.org/msg11149.html
25
26 Work is in progress on this.)
27
28 1.1 Prerequisites
29
30 Before compiling you need the Qt SDK and Qt Creator.
31
32 1.1.1 OS X
33
34 Download the latest Qt SDK (currently 1.1.4) and install it. Build the
35 top-level directory using CMake.
36
37 1.1.2 Windows
38
39 The default Qt SDK libraries are built using MinGW, which isn't supported for
40 Wireshark. Instead of downloading the Qt SDK all-in-one package, download the
41 Qt Libraries package that matches your compiler (VS 2008 or VS 2010) and Qt
42 Creator for Windows.
43
44 Settings in config.nmake are passed to the Qt environment via
45 ui/qt/config.pri. This file should be created automatically when you
46 compile Wireshark in the top-level source directory. You can create it
47 by hand by running "nmake -f Makefile.nmake ui\qt\config.pri".
48
49 Before compiling in Qt Creator select "Projects" in the left toolbar,
50 select "Build Settings" and do the following:
51
52 - In "Edit build configuration" make sure the "Release" build is selected.
53   ("Debug" currently crashes.)
54 - Make sure "Qt version" matches your version of Visual Studio.
55 - Make sure "Tool chain" matches your Visual C++ version.
56
57 If you require plugin support select "Run Settings" and add
58 "WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1" to the Run Environment.
59
60 1.1.3 Linux
61
62 Install the Qt libraries and Qt Creator via your package manager or from
63 http://qt.nokia.com/downloads/. On Debian and Ubuntu the "qt-sdk" meta-package
64 should provide everything you need. Build the top-level directory using CMake
65 (no out of tree builds yet). Inside ui/qt/ do "qtcreate QtShark.pro".
66
67
68 2. Going forward
69
70 DO NOT simply port things over. Every feature, window, and element should be
71 re-thought. For example, should the user have to navigate two dialogs to get
72 HTTP request statistics?