Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Building QtJsonDb from Git: Difference between revisions
AutoSpider (talk | contribs) (Convert ExpressionEngine section headers) |
(Refactored gitorious.org to code.qt.io) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
[[Category:HowTo]] | [[Category:HowTo]] | ||
== Introduction == | == Introduction == | ||
Line 16: | Line 6: | ||
== System Requirements == | == 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 [[ | 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 | At this moment the only supported platforms for QtJsonDb are '''Linux''' and '''Mac OS X'''. | ||
=== Linux/X11 === | === Linux/X11 === | ||
Line 26: | Line 16: | ||
==== QtJsonDb dependencies on Ubuntu/Debian: ==== | ==== QtJsonDb dependencies on Ubuntu/Debian: ==== | ||
$ sudo apt-get install libedit-dev | |||
sudo apt-get install libedit-dev | $ sudo apt-get install libicu-dev | ||
sudo apt-get install libicu-dev | |||
==== QtJsonDb dependencies on Mandriva/ROSA/Unity: ==== | ==== QtJsonDb dependencies on Mandriva/ROSA/Unity: ==== | ||
$ urpmi 'pkgconfig(libedit)' | |||
urpmi 'pkgconfig(libedit)' | $ urpmi 'pkgconfig(libicu)' | ||
urpmi 'pkgconfig(libicu)' | |||
=== Mac OS X === | === Mac OS X === | ||
Line 46: | Line 32: | ||
You need to have HomeBrew installed at first. | You need to have HomeBrew installed at first. | ||
$ brew install icu4c | |||
brew install icu4c | |||
==== Via [http://www.macports.org/ MacPorts] ==== | ==== Via [http://www.macports.org/ MacPorts] ==== | ||
$ port install icu | |||
port install icu | |||
== Getting the source code == | == Getting the source code == | ||
First clone the QtJsonDb git repository(for example, under < | First clone the QtJsonDb git repository(for example, under <tt>~/dev/git</tt>): | ||
< | git clone <nowiki>git://code.qt.io/qt/qtjsondb.git</nowiki> qtjsondb | ||
</ | |||
=== Current temporary patch === | === Current temporary patch === | ||
Only for enable collation feature based on whether ICU header files are available or not on Mac. | Only for enable collation feature based on whether ICU header files are available or not on Mac. | ||
==== | == Qmakeing and building == | ||
Now start to <tt>qmake</tt> and <tt>make</tt> a shadow build: | |||
< | |||
</ | |||
$ mkdir ~/build/qtjsondb | |||
$ cd ~/build/qtjsondb | |||
$ ~/build/qt5/qtbase/bin/qmake -o Makefile ~/dev/git/qtjsondb/qtjsondb.pro | |||
mkdir~/build/qtjsondb | |||
cd ~/build/qtjsondb | |||
~/build/qt5/qtbase/bin/qmake -o Makefile ~/dev/git/qtjsondb/qtjsondb.pro | |||
If you have seen following output, then the ICU was enabled successfully: | If you have seen following output, then the ICU was enabled successfully: | ||
Configuration tests: | Configuration tests: | ||
icu: yes | |||
libedit: yes | |||
== How to run examples == | == How to run examples == | ||
Launch jsondb daemon in a terminal(the first): | Launch jsondb daemon in a terminal(the first): | ||
$ cd ~/dev/git/qtjsondb/examples/declarative | |||
cd~/dev/git/qtjsondb/examples/declarative | $ ~/build/qt5/qtbase/bin/jsondb | ||
~/build/qt5/qtbase/bin/jsondb | |||
Run the example code in another terminal(the second): | Run the example code in another terminal(the second): | ||
$ cd ~/dev/git/qtjsondb/examples/declarative/simplelistmodel | |||
cd~/dev/git/qtjsondb/examples/declarative/simplelistmodel | $ ~/build/qt5/qtbase/bin/qmlscene ./simplelistmodel.qml | ||
~/build/qt5/qtbase/bin/qmlscene ./simplelistmodel.qml | |||
If want to clean the db files after running(in the first terminal): | If want to clean the db files after running(in the first terminal): | ||
$ cd ~/dev/git/qtjsondb/examples/declarative | |||
cd~/dev/git/qtjsondb/examples/declarative | $ rm *.db | ||
rm *.db |
Latest revision as of 15:29, 1 April 2015
Introduction
Todo.
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.
Linux/X11
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://code.qt.io/qt/qtjsondb.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/qtjsondb.pro
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