-------------------------------------------------------------------------------
INSTALL
-------------------------------------------------------------------------------

Requirements
------------

 - git (only needed when building from git)
 - A C++ compiler with C++11 support (-std=c++11 option), e.g.
   - g++ (>= 4.7)
   - clang++ (>= 3.1)
 - make
 - libtool (only needed when building from git)
 - pkg-config >= 0.22
 - cmake >= 2.8.6
 - libglib >= 2.28.0
 - glibmm-2.4 (>= 2.28.0)
 - Qt4 >= 4.5 or Qt5 (including the following components):
    - Qt4: QtCore, QtGui, QtSvg
    - Qt5: Qt5Core, Qt5Gui, Qt5Widgets, Qt5Svg
 - libboost >= 1.53 (including the following libs):
    - libboost-system
    - libboost-filesystem
    - libboost-thread
    - libboost-test (optional, only needed to run the unit tests)
 - libsigrokcxx >= 0.4.0 (libsigrok C++ bindings)
 - libsigrokdecode >= 0.4.0
 - libsigrokandroidutils >= 0.1.0 (optional, only needed on Android)


Building and installing
-----------------------

In order to get the PulseView source code and build it, run:

 $ git clone git://sigrok.org/pulseview
 $ cd pulseview
 $ cmake .
 $ make

For installing PulseView:

 $ make install

See the following wiki page for more (OS-specific) instructions:

 http://sigrok.org/wiki/Building


Creating a source distribution package
--------------------------------------

In order to build a source package begin with an unconfigured source tree.

 $ mkdir dist
 $ cd dist
 $ cmake ..
 $ make package_source

