Skip to content

HowToBuild

shanhui edited this page Apr 3, 2017 · 3 revisions

How to build

First of all, we need some third party libraries:

  • ncurses
  • jsoncpp
  • log4cplus
  • rote
  • sshpass

If you have some build problems, you can read Q&A for help. If your quesion is not answered there, just send me a issuse.

Install ncurses

For MacOS, you can ignore this step, because the ncurses is system provided.

You can get ncurses by apt-get install on Ubuntu:

sudo apt-get install libncurses5-dev

Build jsoncpp

Under the omnitty's root directory, get the jsoncpp submodule.

git submodule init
git submodule update

Then build and install the jsoncpp.

cd 3rdparty/jsoncpp
mkdir -p build/debug
cd build/debug
cmake -DCMAKE_BUILD_TYPE=debug -DBUILD_STATIC_LIBS=ON -DBUILD_SHARED_LIBS=OFF -DARCHIVE_INSTALL_DIR=. -G "Unix Makefiles" ../..
make
sudo make install
cd ../../../..

By defalut, this will install the libjsoncpp into /usr/local/lib/ and copy the include files into /usr/local/include/.

Build log4cplus

Run command:

cd 3rdparty/log4cplus-2.0.0-rc1
./configure
make
sudo make install
cd ../..

By defalut, this will install the libjsoncpp into /usr/local/lib/ and copy the include files into /usr/local/include/.

Build rote

Open your terminal, and cd to the omnitty.

cd 3rdparty/rote-0.2.8
./configure
make
sudo make install
cd ../..

By defalut, this will install the libROTE into /usr/local/lib/ and copy the include files into /usr/local/include/.

Build sshpass

Command ssh cannot pass password in plaintext, so there are troubles in multi-ssh login.

We'd better not to use this command because it makes it too easy for novice SSH users to ruin SSH's security, and it's better to use ssh identity file instead of password. If there is a reason that must to use password, then you can install the sshpass command.

cd 3rdparty/sshpass-1.06
./configure
make
sudo make install
cd ../..

By defalut, this will install the openssh command into /usr/local/bin/ directory.

Build omnitty

You can build omnitty by Qt Creator, XCode or CMake.

IDE Path Mac Linux
Qt Creator ide/qmake/omnitty.pro
XCode ide/xcode/omnitty.xcodeproj
CMake ide/cmake/CMakeLists.txt

Qt Creator

cd ide/qmake
qmake *.pro
make

XCode

Open ide/omnitty.xcodeproj and build.

Cmake

cd ide/cmake
camek CMakeLists.txt
make
Clone this wiki locally