-
Notifications
You must be signed in to change notification settings - Fork 169
/
HACKING
119 lines (84 loc) · 3.93 KB
/
HACKING
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:
https://gcompris.net/wiki/Qt_Quick_development_process