Building QtJsonDb from Git: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Category:HowTo]]<br />[[Category:Developing_with_Qt::Qt 5]]
[[Category:HowTo]]
[[Category:Developing_with_Qt::Qt 5]]


'''English'''
'''English'''


[toc align_right=&quot;yes&amp;quot; depth=&quot;3&amp;quot;]
[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><br />sudo apt-get install libedit-dev<br />sudo apt-get install libicu-dev<br /></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><br />urpmi 'pkgconfig(libedit)'<br />urpmi 'pkgconfig(libicu)'<br /></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 &quot;HomeBrew&amp;quot;:http://mxcl.github.com/homebrew/ ====
==== Via "HomeBrew":http://mxcl.github.com/homebrew/ ====


You need to have HomeBrew installed at first.
You need to have HomeBrew installed at first.


<code><br />brew install icu4c<br /></code>
<code>
brew install icu4c
</code>


==== Via &quot;MacPorts&amp;quot;:http://www.macports.org/ ====
==== Via "MacPorts":http://www.macports.org/ ====


<code><br />port install icu<br /></code>
<code>
port install icu
</code>


== Getting the source code ==
== Getting the source code ==


First clone the QtJsonDb git repository(for example, under &lt;code&amp;gt;<sub>/dev/git&amp;lt;/code&amp;gt;):
First clone the QtJsonDb git repository(for example, under <code>~/dev/git</code>):
<br /><code><br />git clone git://gitorious.org/qt/qtjsondb.git qtjsondb<br /></code>
<br />h3. Current temporary patch
<br />Only for enable collation feature based on whether ICU header files are available or not on Mac.
<br />h4. Mac OS X
<br />For '''HomeBrew''' users, patch &quot;this file&amp;quot;:https://gist.github.com/2584990 or &quot;download the patch directly&amp;quot;:https://gist.github.com/gists/2584990/download .<br /><code><br />git am</sub>/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-brew.patch<br /></code>


For '''MacPorts''' users, patch &quot;this file&amp;quot;:https://gist.github.com/2659021 or &quot;download the patch directly&amp;quot;:https://gist.github.com/gists/2659021/download .<br /><code><br />git am <sub>/Downloads/0001-tmp-patch-for-add-path-for-icu-on-mac-with-macports.patch<br /></code>
<code>
<br />h2. Qmakeing and building
git clone git://gitorious.org/qt/qtjsondb.git qtjsondb
<br />Now start to qmake and make a shadow build:<br /><code><br />mkdir</sub>/build/qtjsondb<br />cd <sub>/build/qtjsondb<br /></sub>/build/qt5/qtbase/bin/qmake -o Makefile <sub>/dev/git/qtjsondb/qtjsondb.pro<br /></code>
</code>
<br />If you have seen following output, then the ICU was enabled successfully:<br /><code><br />Configuration tests:<br /> icu: yes<br /> libedit: yes<br /></code>
 
<br />h2. How to run examples
h3. Current temporary patch
<br />Launch jsondb daemon in a terminal(the first):
 
<br /><code><br />cd</sub>/dev/git/qtjsondb/examples/declarative<br /><sub>/build/qt5/qtbase/bin/jsondb<br /></code>
Only for enable collation feature based on whether ICU header files are available or not on Mac.
<br />Run the example code in another terminal(the second):
 
<br /><code><br />cd</sub>/dev/git/qtjsondb/examples/declarative/simplelistmodel<br /><sub>/build/qt5/qtbase/bin/qmlscene ./simplelistmodel.qml<br /></code>
h4. Mac OS X
<br />If want to clean the db files after running(in the first terminal):
 
<br /><code><br />cd</sub>/dev/git/qtjsondb/examples/declarative<br />rm *.db
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