Introduction
============

Qwt uses qmake to build all its components and examples. 
qmake is part of a Qt distribution. 

qmake reads project files, that contain the options and rules how to 
build a certain project. A project file ends with the suffix "*.pro". 
Files that end with the suffix "*.pri" are included by the project 
files and contain definitions, that are common for several project files.

qwtconfig.pri and qwtbuild.pri are read by all project files of the Qwt 
package. qwtconfig.pri is also read by qwt.prf, when building your
application. So the first step is to edit the *.pri files to adjust 
them to your needs.

The subdirs template of qmake is known to be buggy when using spaces 
in path names. So better don't build Qwt below a path name with spaces. 
( Otherwise you might have to run qmake in all subdirs manually ).

Documentation
==========================

Qwt includes a class documentation, that is available in various formats:

- Html files
- PDF document 
- Qt Compressed Help (*.qch ) for the Qt assistant or creator. 
  You can load it "Edit Preferences" -> "Documentation" -> "Add..."
- Man pages ( UNIX only )

Building Qwt
==========================

The easiest way to build Qwt is from the command line - but you insist on 
using an IDE don't forget the "make install" step.

A) Unix 
--------

qmake
make
make install

If you have installed a shared library it's path has to be known to 
the run-time linker of your operating system. On Linux systems read
"man ldconfig" ( or google for it ). Another option is to use
the LD_LIBRARY_PATH (on some systems LIBPATH is used instead, on MacOSX
it is called DYLD_LIBRARY_PATH) environment variable.

If you only want to check the Qwt examples without installing something,
you can set the LD_LIBRARY_PATH to the lib directory 
of your local build. 

If you didn't enable autobuilding of the examples in qwtconfig.pri
you have to build the examples this way:

cd examples
qmake 
make


B) Win32/MSVC 
--------

Check that your Qt version has been built with MSVC - not with MinGW !

Please read the qmake documentation how to convert 
your *.pro files into your development environment.

F.e MSVC with nmake:
qmake qwt.pro
nmake
nmake install

If you didn't enable autobuilding of the examples in qwtconfig.pri
you have to build the examples this way:

cd examples
qmake examples.pro
nmake

Windows doesn't like mixing of debug and release binaries. Most
of the problems with using the Qwt designer plugin are because
of trying to load a Qwt debug library into a designer release 
executable.

It's not possible to load a plugin, that has been built with MinGW
into a Qt Designer/Creator, that has been built with MSVC ( and v.v ).
This is a common reason for problems, when working with prebuild
binaries of the Qt Creator.

C) Win32/MinGW 
--------

Check that your Qt version has been built with MinGW - not with MSVC !

Start a Shell, where Qt4 is initialized. ( F.e. with
"Programs->Qt by Trolltech ...->Qt 4.x.x Command Prompt" ).
Check if you can execute "make" or something like "mingw32-make".

qmake qwt.pro
make
make install

If you didn't enable autobuilding of the examples in qwtconfig.pri
you have to build the examples this way:

cd examples
qmake examples.pro
make

Windows doesn't like mixing of debug and release binaries. Most
of the problems with using the Qwt designer plugin are because
of trying to load a Qwt debug library into a designer release 
executable.

Don't forget to tell qmake where to find qwt.prf:
qmake -set QMAKEFEATURES ...

D) MacOSX
--------

Well, the Mac is only another Unix system. So read the instructions in A).

In the recent Qt4 releases the default target of qmake is to generate
XCode project files instead of makefiles. So you might need to do the
following:

qmake -spec macx-g++
...

D) Qt Embedded
--------

I only tested Qwt with Qt Embedded in qvfb (Virtual Framebuffer Devivce)
Emulator on my Linux box. To build Qwt for the emulator was as simple as 
for a regular Unix build.

F) Symbian
--------

I never tried this platform myself.

Using Qwt
===========

For building a Qwt application with qmake use the Qwt configuration features
file, that has been installed by "make install". When qmake is able to find 
it ( http://doc.qt.nokia.com/4.7/qmake-advanced-usage.html#adding-new-configuration-features )
you can simply add "CONFIG += qwt" to your application project file.

If you don't use qmake you have to add the include path to find the Qwt 
headers to your compiler flags and the Qwt library to your linker list.
Don't forget to add QWT_DLL to the compiler flags, when you work with a 
Qwt-DLLs on Windows.

For using the designer plugin you have to configure the Qt designer/creator 
where to look for plugins. This can be done by setting the QT_PLUGIN_PATH or
using a qt.conf file ( see http://doc.qt.nokia.com/4.7/deployment-plugins.html ).
Beside the plugin the Qwt library itsself also needs to be known to the Designer/Creator
( see LD_LIBRARY_PATH, PATH ... above ).

Good luck !
