User:Nmariusp: Difference between revisions

From KDE Community Wiki
(Qt 6 installed using Qt online installer)
 
(17 intermediate revisions by the same user not shown)
Line 3: Line 3:
=== How to install kde-builder fast ===
=== How to install kde-builder fast ===


Install kde-builder.
<pre>
<pre>
mkdir -p ~/kde/src
cd ~/kde/src
git clone https://invent.kde.org/sdk/kde-builder.git
cd kde-builder
# Make sure that you have Python >= 3.12.
python3 -m venv .venv
# I use bash.
source .venv/bin/activate
pip install pipenv
pipenv install
./kde-builder --initial-setup <<< 'N'
mv ~/.config/kdesrc-buildrc .
# Edit the file ./kdesrc-buildrc as needed.
# Edit the file ./kdesrc-buildrc as needed.


Line 35: Line 24:


<pre>
<pre>
ls -la ~/Downloads # The downloaded file needs to hace the "executable" chmod bit set.
ls -la ~/Downloads # The downloaded file needs to have the "executable" chmod bit set.
chmod +x ~/Downloads/qt-unified-linux-x64-4.6.1-online.run
chmod +x ~/Downloads/qt-unified-linux-x64-4.6.1-online.run
~/Downloads/qt-unified-linux-x64-4.6.1-online.run
~/Downloads/qt-unified-linux-x64-4.6.1-online.run
Line 57: Line 46:
</pre>
</pre>


Make gpgme build:
Because we use <code>libname lib</code>, on the Linux OSes that use <code>usr/lib/x86_64-linux-gnu/</code> instead of <code>usr/lib/</code> some files are installed into 
<code>~/kde/usr/lib/x86_64-linux-gnu/</code>, some files are installed into <code>~/kde/usr/lib/</code>.
 
E.g. in <code>prefix.sh</code>, make sure to have both <code>~/kde/usr/lib/x86_64-linux-gnu/</code> and <code>~/kde/usr/lib/</code>. E.g.:
 
<pre>
export QT_PLUGIN_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/plugins:/home/username/kde/usr/lib/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/qml:/home/username/kde/usr/lib/qml:$QML2_IMPORT_PATH
 
export QT_QUICK_CONTROLS_STYLE_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/qml/QtQuick/Controls.2/:/home/username/kde/usr/lib/qml/QtQuick/Controls.2/:$QT_QUICK_CONTROLS_STYLE_PATH
</pre>
 
== More topics ==
 
=== How to write the entire verbose STDOUT and STDERR of kdesrc-build to a file ===


<pre>
<pre>
sudo su
script -eq -c "kdesrc-build kconfig --no-src --no-include-dependencies --refresh-build --debug" ~/a.txt ;  sed -i $'s/\033\[[0-9]\+m//g' ~/a.txt
mkdir -p /home/qt/work
chown -R username:username /home/qt/work
ln -s /home/username/Qt/6.6.0/gcc_64 /home/qt/work/install
ls -la /home/qt/work
</pre>
</pre>
The <code>sed</code> part removes the terminal ANSI color escape codes.
<code>script -eq -c "command" ~/a.txt</code> is better than <code>command |& tee ~/a.txt</code> because kdesrc-build behaves differently if it is run in a user interactive terminal session (<code>isatty</code>).
If using <code>tee</code>, part of the output of kdesrc-build will not be written to file. E.g. the output of the <code>cmake</code> step, the final part of the <code>make -j</code> step, the final part of the <code>make install</code> step.
[[User:Nmariusp/Qt_Creator|Qt Creator]]
[[User:Nmariusp/Clion|JetBrains CLion]]
[[User:Nmariusp/Start|How to start programming for KDE]]
[[User:Nmariusp/Easy|I know how to program using C++. Can I do a KDE MR in less than 2 hours?]]
[[User:Nmariusp/More|Advanced topics about how to start programming for KDE]]

Latest revision as of 08:29, 17 November 2024

How to install kde-builder

How to install kde-builder fast

Install kde-builder.

# Edit the file ./kdesrc-buildrc as needed.

# kde-builder is installed.
# Use ./kde-builder instead of ./kdesrc-build. The command lines are the same.

./kde-builder kconfig
./kde-builder kcalc
./kde-builder --run kcalc
# Run kcalc with the KDE theme that is used by your KDE Plasma desktop.
./kde-builder plasma-integration
./kde-builder --run kcalc
./kde-builder frameworks

Qt 6 installed using Qt online installer

The homepage of the Qt Framework is https://www.qt.io . Go to this web page, create an online account. https://www.qt.io/download-open-source > "Download the Qt Online Installer" > Linux > "Qt Online Installer for Linux (64-bit)" > download a file named e.g. qt-unified-linux-x64-4.6.1-online.run into the directory e.g. "~/Downloads".

ls -la ~/Downloads # The downloaded file needs to have the "executable" chmod bit set.
chmod +x ~/Downloads/qt-unified-linux-x64-4.6.1-online.run
~/Downloads/qt-unified-linux-x64-4.6.1-online.run

Login using your Qt online account. Next > check the checkbox "I have read and agree to the terms and conditions of using OpenSource Qt", check the checkbox "I'm an individual and do not use Qt for any company" > Next > Next > enable "Help us improve" > Next > Custom installation, notice that the install directory is "~/Qt" > Next. Install the latest version of Qt6 and the latest version of the Qt Creator integrated development environment (IDE). There are some Qt6 components that are not used by KDE and can be left out when installing Qt6 e.g. WebAssembly, Android, Sources, Qt Quick 3D, Qt 3D, "Quick: 3D Physics", "Qt debug Information Files".

In the KDE Plasma app launcher you now have the application "Qt Maintenance Tool".

Set up kde-builder from scratch as usual.

Edit the file kdesrc-buildrc to look like:

global
...
    qt-install-dir  ~/Qt/6.6.0/gcc_64 # Where to install Qt6 if kdesrc-build supplies it
    libname lib
...
end global

Because we use libname lib, on the Linux OSes that use usr/lib/x86_64-linux-gnu/ instead of usr/lib/ some files are installed into ~/kde/usr/lib/x86_64-linux-gnu/, some files are installed into ~/kde/usr/lib/.

E.g. in prefix.sh, make sure to have both ~/kde/usr/lib/x86_64-linux-gnu/ and ~/kde/usr/lib/. E.g.:

export QT_PLUGIN_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/plugins:/home/username/kde/usr/lib/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/qml:/home/username/kde/usr/lib/qml:$QML2_IMPORT_PATH

export QT_QUICK_CONTROLS_STYLE_PATH=/home/username/kde/usr/lib/x86_64-linux-gnu/qml/QtQuick/Controls.2/:/home/username/kde/usr/lib/qml/QtQuick/Controls.2/:$QT_QUICK_CONTROLS_STYLE_PATH

More topics

How to write the entire verbose STDOUT and STDERR of kdesrc-build to a file

script -eq -c "kdesrc-build kconfig --no-src --no-include-dependencies --refresh-build --debug" ~/a.txt ;  sed -i $'s/\033\[[0-9]\+m//g' ~/a.txt

The sed part removes the terminal ANSI color escape codes.

script -eq -c "command" ~/a.txt is better than command |& tee ~/a.txt because kdesrc-build behaves differently if it is run in a user interactive terminal session (isatty).

If using tee, part of the output of kdesrc-build will not be written to file. E.g. the output of the cmake step, the final part of the make -j step, the final part of the make install step.


Qt Creator

JetBrains CLion

How to start programming for KDE

I know how to program using C++. Can I do a KDE MR in less than 2 hours?

Advanced topics about how to start programming for KDE