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
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
[[Category:HowTo]] | [[Category:HowTo]] | ||
[[Category:Developing_with_Qt::Qt 5]] | |||
'''English''' | '''English''' | ||
[toc align_right= | [toc align_right="yes" depth="3"] | ||
= Building QtJsonDb from Git = | = Building QtJsonDb from Git = | ||
Line 23: | Line 24: | ||
==== QtJsonDb dependencies on Ubuntu/Debian: ==== | ==== QtJsonDb dependencies on Ubuntu/Debian: ==== | ||
<code> | <code> | ||
sudo apt-get install libedit-dev | |||
sudo apt-get install libicu-dev | |||
</code> | |||
==== QtJsonDb dependencies on Mandriva/ROSA/Unity: ==== | ==== QtJsonDb dependencies on Mandriva/ROSA/Unity: ==== | ||
<code> | <code> | ||
urpmi 'pkgconfig(libedit)' | |||
urpmi 'pkgconfig(libicu)' | |||
</code> | |||
=== Mac OS X === | === Mac OS X === | ||
Line 33: | Line 40: | ||
QtJsonDb depends on libicu(optionally). | QtJsonDb depends on libicu(optionally). | ||
==== Via | ==== Via "HomeBrew":http://mxcl.github.com/homebrew/ ==== | ||
You need to have HomeBrew installed at first. | You need to have HomeBrew installed at first. | ||
<code> | <code> | ||
brew install icu4c | |||
</code> | |||
==== Via | ==== Via "MacPorts":http://www.macports.org/ ==== | ||
<code> | <code> | ||
port install icu | |||
</code> | |||
== 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 <code>~/dev/git</code>): | ||
< | |||
For ''' | <code> | ||
git clone git://gitorious.org/qt/qtjsondb.git qtjsondb | |||
</code> | |||
h3. Current temporary patch | |||
Only for enable collation feature based on whether ICU header files are available or not on Mac. | |||
h4. Mac OS X | |||
For '''HomeBrew''' users, patch "this file":https://gist.github.com/2584990 or "download the patch directly":https://gist.github.com/gists/2584990/download . | |||
<code> | |||
git am~/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-brew.patch | |||
</code> | |||
For '''MacPorts''' users, patch "this file":https://gist.github.com/2659021 or "download the patch directly":https://gist.github.com/gists/2659021/download . | |||
<code> | |||
git am ~/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-macports.patch | |||
</code> | |||
h2. Qmakeing and building | |||
Now start to qmake and make a shadow build: | |||
<code> | |||
mkdir~/build/qtjsondb | |||
cd ~/build/qtjsondb | |||
~/build/qt5/qtbase/bin/qmake -o Makefile ~/dev/git/qtjsondb/qtjsondb.pro | |||
</code> | |||
If you have seen following output, then the ICU was enabled successfully: | |||
<code> | |||
Configuration tests: | |||
icu: yes | |||
libedit: yes | |||
</code> | |||
h2. How to run examples | |||
Launch jsondb daemon in a terminal(the first): | |||
<code> | |||
cd~/dev/git/qtjsondb/examples/declarative | |||
~/build/qt5/qtbase/bin/jsondb | |||
</code> | |||
Run the example code in another terminal(the second): | |||
<code> | |||
cd~/dev/git/qtjsondb/examples/declarative/simplelistmodel | |||
~/build/qt5/qtbase/bin/qmlscene ./simplelistmodel.qml | |||
</code> | |||
If want to clean the db files after running(in the first terminal): | |||
<code> | |||
cd~/dev/git/qtjsondb/examples/declarative | |||
rm *.db |
Revision as of 10:40, 25 February 2015
English
[toc align_right="yes" depth="3"]
Building QtJsonDb from Git
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":http://mxcl.github.com/homebrew/
You need to have HomeBrew installed at first.
brew install icu4c
Via "MacPorts":http://www.macports.org/
port install icu
Getting the source code
First clone the QtJsonDb git repository(for example, under
~/dev/git
):
git clone git://gitorious.org/qt/qtjsondb.git qtjsondb
h3. Current temporary patch
Only for enable collation feature based on whether ICU header files are available or not on Mac.
h4. Mac OS X
For HomeBrew users, patch "this file":https://gist.github.com/2584990 or "download the patch directly":https://gist.github.com/gists/2584990/download .
git am~/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-brew.patch
For MacPorts users, patch "this file":https://gist.github.com/2659021 or "download the patch directly":https://gist.github.com/gists/2659021/download .
git am ~/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-macports.patch
h2. 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
h2. 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