Building QtJsonDb from Git

From Qt Wiki
Revision as of 15:29, 1 April 2015 by Dragly (talk | contribs) (Refactored to
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search



System Requirements

QtJsonDb is one of the addons of Qt 5, hence before building qtjsondb you need to build dependent modules - qtbase, qtxmlpatterns, qtjsbackend and qtdeclarative. See Building Qt 5 from Git for more information.

At this moment the only supported platforms for QtJsonDb are Linux and Mac OS X.


QtJsonDb depends on libedit and libicu(optionally):

QtJsonDb dependencies on Ubuntu/Debian:

$ sudo apt-get install libedit-dev
$ sudo apt-get install libicu-dev

QtJsonDb dependencies on Mandriva/ROSA/Unity:

$ urpmi 'pkgconfig(libedit)'
$ urpmi 'pkgconfig(libicu)'

Mac OS X

QtJsonDb depends on libicu(optionally).

Via HomeBrew

You need to have HomeBrew installed at first.

$ brew install icu4c

Via MacPorts

$ port install icu

Getting the source code

First clone the QtJsonDb git repository(for example, under ~/dev/git):

git clone git:// qtjsondb

Current temporary patch

Only for enable collation feature based on whether ICU header files are available or not on Mac.

Qmakeing and building

Now start to qmake and make a shadow build:

$ mkdir ~/build/qtjsondb
$ cd ~/build/qtjsondb
$ ~/build/qt5/qtbase/bin/qmake -o Makefile ~/dev/git/qtjsondb/

If you have seen following output, then the ICU was enabled successfully:

Configuration tests:
 icu: yes
 libedit: yes

How to run examples

Launch jsondb daemon in a terminal(the first):

$ cd ~/dev/git/qtjsondb/examples/declarative
$ ~/build/qt5/qtbase/bin/jsondb

Run the example code in another terminal(the second):

$ cd ~/dev/git/qtjsondb/examples/declarative/simplelistmodel
$ ~/build/qt5/qtbase/bin/qmlscene ./simplelistmodel.qml

If want to clean the db files after running(in the first terminal):

$ cd ~/dev/git/qtjsondb/examples/declarative
$ rm *.db