# INSTALL

    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 !