/GraphControl

Graph control for display of ECL execution graphs

Primary LanguageC++MIT LicenseMIT

#### Get cmake, git, git-svn ####
# Linux
sudo apt-get install cmake git git-svn 

# OSX
cmake:  http://cmake.org/cmake/resources/software.html
git: http://git-scm.com/download

#### Get required libraries #### 
# On Linux (Ubuntu 13.04)
sudo apt-get install libboost-dev libboost-system-dev libboost-thread-dev libboost-filesystem-dev libboost-chrono-dev libfreetype6-dev libexpat1-dev libgtk2.0-dev

# On OSX (Snow Leopard)
sudo port install boost freetype expat

# On Windows
TODO:  How to get "externals folder" + how to install WIX

#### Create development folder #### 
mkdir ~/git
cd ~/git

#### Get GraphControl Sources #### 
git clone https://github.com/hpcc-systems/GraphControl.git
cd GraphControl
git checkout candidate-3.10.x
cd ..

#### Get Firebreath library #### 
git clone https://github.com/GordonSmith/FireBreath.git
cd FireBreath
git checkout closedown-5.0.x
cd ..

#### Get unrestricted (2.4) agg libraries #### 
git clone https://github.com/GordonSmith/agg.git
cd agg
git checkout graphcontrol-3.10.x
cd ..

#### Get AT&T Graphviz libraries #### 
wget http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.26.3.tar.gz
tar xf graphviz-2.26.3.tar.gz
rm graphviz-2.26.3.tar.gz
cd graphviz-2.26.3
./configure
cd ..

#### Create general build folder #### 
mkdir build
cd build

#### Create build folder for GraphControl #### 
mkdir GraphControl
cd GraphControl

#### Generate GraphControl make files #### 
# On OSX and Linux
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_SYSTEM_BOOST=1 -DFB_PROJECTS_DIR:PATH=../GraphControl -DGRAPHVIZSRC_DIR=../../graphviz-2.26.3 -DAGGSRC_DIR=../../agg ../../FireBreath
# On Windows
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_SYSTEM_BOOST=1 -DFB_PROJECTS_DIR:PATH=../GraphControl -DGRAPHVIZSRC_DIR=../../graphviz-2.26.3 -DAGGSRC_DIR=../../agg -DEXTERNALS_DIRECTORY:PATH=c:/full/path/to/externals ../../FireBreath

#### Compile the sources #### 
cmake --build . --config Release

#### To install the plugin #### 
cmake --build . --config Release --target install

#### Create an install package #### 
# On OSX and Linux
cmake --build . --config Release --target package
# On Windows
cmake --build . --config Release --target HPCCSystemsGraphViewControl\HPCCSystemsGraphViewControl_WiXInstall
cd ..

#### For debugging, create a symbolic link to the built plugin #### 
# Linux
ln -s ~/git/build/GraphControl/bin/HPCCSystemsGraphViewControl/npHPCCSystemsGraphViewControl.so ~/.mozilla/plugins/npHPCCSystemsGraphViewControl.so
# OSX
ln -s ~/git/build/GraphControl/projects/HPCCSystemsGraphViewControl/HPCCSystemsGraphViewControl.plugin ~/Library/Internet\ Plug-Ins/HPCCSystemsGraphViewControl.plugin