File: HACKING

package info (click to toggle)
gcompris-qt 26.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 144,692 kB
  • sloc: javascript: 64,854; cpp: 7,375; xml: 1,349; python: 1,310; sh: 584; sql: 236; php: 183; java: 121; perl: 40; ansic: 14; makefile: 7; awk: 6
file content (119 lines) | stat: -rw-r--r-- 4,038 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
                        GCompris HACKING

Official repository
-------------------
The official repository requires a KDE developer account, we will ask regular
contributors to get an account and work on the KDE repository.

    https://invent.kde.org/education/gcompris

For new developers and those interested only in smaller contributions use the
https://phabricator.kde.org/ or GitHub repository.


Source code from GitHub
-----------------------
Checkout the source code by cloning it from GitHub

    git clone https://github.com/gcompris/GCompris-qt.git

If you want to have a personal fork, in order to commit occasional patches,
fork it on GitHub then clone your fork

    git clone https://github.com/<username>/GCompris-qt.git

When asking for a pull request, create a new topic branch and commit your
changes there then open a pull request to gcompris-qt repository on GitHub.

See GitHub's documentation for more information.

    https://help.github.com/categories/collaborating/


Dependencies
------------
In order to be able to compile GCompris the following Qt6 dependencies need to
be installed (version 6.5.0 minimum)

    Qt 6 Development Defaults
    Qt 6 qmake
    Qt Creator
    Qt Linguist Tools

    Qt Core
    Qt Gui
    Qt Multimedia
    Qt Multimedia QML Module
    Qt Network
    Qt Image Formats
    Qt Qml
    Qt Quick
    Qt Sensors
    Qt Svg
    Qt Charts (qml plugin)

CMake must be installed to compile GCompris:

    sudo apt install cmake

By default, translations are also built so gettext package must be installed to compile GCompris (to ignore translation files, run cmake with `-DSKIP_TRANSLATIONS=ON`:

    sudo apt install gettext
    
Installing dependencies on a Debian based systems can be done like this:

    sudo apt install libssl-dev libqt6svg6-dev \
                     qt6-multimedia-dev qt6-tools-dev qt6-tools-dev-tools \
                     libqt6sensors6-dev libqt6svg6-dev \
                     linguist-qt6 qt6-l10n-tools \
                     qt6-declarative6-dev qml6-module-qtcharts \
                     libqt6charts6-dev \
                     qml6-module-qtcore qml6-module-qtquick-controls \
                     qml6-module-qtmultimedia qml6-module-qtqml \
                     qml6-module-qtqml-workerscript qml6-module-qtquick \
                     qml6-module-qtquick-window qt6-image-formats-plugins \
                     qml6-module-qtquick-templates


To build for Android, Qt 6 AndroidExtras also needs to be installed.

If building from a .tar.gz or .zip source distribution the externals may
need to be added.

    cd GCompris-qt-*
    git clone https://github.com/qml-box2d/qml-box2d.git external/qml-box2d/


Build
-----
Start QtCreator and select Open Project and open CMakeLists.txt in the
gcompris-qt root directory. Follow the wizard instructions.

Use the buttons on the lower left side to build, run, and debug GCompris.

An alternative building process is to use cmake in command-line directly.

    cd GCompris-qt-*
    mkdir build
    cd build
    cmake ..
    make
    ./bin/gcompris-qt

On Windows, the build is done using Ninja, MinGW and OpenSSL provided by Qt Maintenance tool (under Developer and Designer Tools). Make sure you added them to the PATH (export PATH=$PATH:/c/Qt/Tools/mingw1120_64/bin:/c/Qt/Tools/Ninja):

    cd GCompris-qt-*
    mkdir build
    cd build
    cmake -G "Ninja" -DCMAKE_PREFIX_PATH=/c/Qt/6.5.3/mingw_64/ -DOPENSSL_ROOT_DIR=/c/Qt/Tools/OpenSSLv3/Win_x64/ ..
    cmake --build . -j 4 --config Release --target BuildTranslations
    cmake --build . -j 4 --config Release
    cpack -C Release .


For Android, install Qt with the Android flavor you want from Qt Maintenance tool and run the script in tools to build for armeabi-v7a (./tools/android_build_all_apk.sh) or arm64-v8a (./tools/android_build_all_apk_64.sh). It takes the Qt root folder as argument (~/Qt/6.5.3/ for example).

More Details
------------
Go To this Link:
          hhttps://invent.kde.org/education/gcompris/-/wikis/Developers-corner/