X. DEVELOPER RECOMMENDATIONS
In case you get stuck, check out these recommendations for the build process.
- As a developer you'd naturally want to be able to test out all the features offered by KDE Connect. Right now MSVC does the best job as a compiler, so you may choose that.
- We recommend to install Craft in
- Check out Craft docs for more help on how to use it.
- 1 X. DEVELOPER RECOMMENDATIONS
- 2 0. SETTING UP ENVIRONMENT
- 3 1. BUILDING KDE CONNECT OUT OF LATEST SOURCE CODE
- 4 2. TESTING CHANGES
- 5 3. BUILDING A SHARE-ABLE INSTALLER
- 6 FAQs : FREQUENTLY ASKED QUESTIONS
0. SETTING UP ENVIRONMENT
The environment for KDE Connect on Windows simply consists of two parts- A compiler of choice and a build system. While we do have a couple of options for the compiler, our recommended build system is Craft. While this is an all-in-one build guide, you should definitely refer to Craft's documentation for further information on using the build system in your development environment!
Choose your compiler of choice:-
0.1 installing MSVC
1. Install Visual Studio 2019 (Community) from here and select Desktop development with C++.
2. Install these packages.
- Just-in-Time debugger
- VC++ 2019 version
- C++ profiling tools
- Windows 10 SDK
- Visual C++ tools for CMake
- Visual C++ ATL for x86 and x64
- Test Adapter for Boost.Test
- Test Adapter for Google Test
0.2 installing MinGW-w64
1. Install MinGW-w64 through the GUI installer located here.
2. While installing Craft, feel free to select Mingw-w64 as your compiler!
Afterwards, there is no difference in the commands used in the development. Note that due to the lacking of some definitions in MinGW provided header file, some plugins could not be compiled with all functions on Windows using MinGW.
This is still an experimental feature, and you might need some developer know-how to get past any build problems.
0.X installing Craft
1. Call the following commands in a Powershell window with Administrator Privileges
Set-ExecutionPolicy -Scope CurrentUser RemoteSigned iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/KDE/craft/master/setup/install_craft.ps1'))
2. During command 2, select Visual Studio 19 if you chose MSVC earlier, otherwise Mingw-w64 as your compiler.
Select compiler  Mingw-w64,  Microsoft Visual Studio 2017,  Microsoft Visual Studio 2019 (default is Microsoft Visual Studio 2017): 2 Select architecture  x86  x64 (Default is x64): 1
3. When installation is done, note the Environment variables to match the ones in top of this image:-
[Environment] PATH= Craft : C:\CraftRoot Version : master ABI : windows-msvc2019_64-c1 Download directory : C:\CraftRoot\download
1. BUILDING KDE CONNECT OUT OF LATEST SOURCE CODE
Craft has automated most of the redundant parts of the build process and exposed just the really useful parameters like which version to build, where to install et al.
1. Open Craft CraftRoot from search (in taskbar).
2. Run the following commands now.
REM First, we set the various dependencies of kdeconnect-kde to be installed from the code in master branch. craft --set version=master kdeconnect-kde craft --set version=master craft craft --set version=master kde/frameworks/tier3 craft --set version=master dev-utils/snoretoast craft --set version=master kde/frameworks/tier1/sonnet craft --set version=master libs/libssh2 craft --set version=master kde/frameworks/tier3/kio craft --set version=master kde/kdenetwork/kio-extras craft --set version=master kde/frameworks/tier1/kcoreaddons craft --set version=master kde/frameworks/tier2/kauth craft --set version=master kde/frameworks/extra-cmake-modules craft --set version=master kde/frameworks/tier1/kwindowsystem craft --set version=master kde/frameworks/tier1/kconfig craft --set version=master kde/frameworks/tier1/kcodecs craft --set version=master kde/frameworks/tier1/kwidgetsaddons craft --set version=master kde/frameworks/tier1/kitemviews craft --set version=master kde/frameworks/tier1/kguiaddons craft --set version=master kde/frameworks/tier2/kcrash craft --set version=master kde/frameworks/tier1/kdbusaddons craft --set version=master kde/frameworks/tier2/kdoctools craft --set version=master kde/frameworks/tier1/karchive craft --set version=master kde/frameworks/tier2/kcompletion craft --set version=master kde/frameworks/tier3/kiconthemes craft --set version=master kde/frameworks/tier1/solid craft --set version=master kde/pim/kcontacts REM Now we install kdeconnect-kde within CraftRoot. craft -i kdeconnect-kde
2. TESTING CHANGES
TODO: Fill stuff here from Craft's documentation.
3. BUILDING A SHARE-ABLE INSTALLER
Choose your package of choice:-
3.1 creating a desktop application
0. Make sure PackageType is set as
PackageType = NullsoftInstallerPackager in
1. To create an installable setup, you need NSIS- a open source system to create Windows installers. Install it by this command:
3.2 creating a Windows App
0. Make sure PackageType is set as
PackageType = AppxPackager in
3.X packaging through Craft
1. Now you can use the
--package flag to build an installer. Run this in Craft CraftRoot.
craft --package extragear/kdeconnect-kde
Note: The output files are saved here:
FAQs : FREQUENTLY ASKED QUESTIONS
We are only human! There are many doubts that we face commonly, during DevSprints and during onboarding of new contributors. We'd like to expedite this process for you by enlisting all the commonly asked questions in one place so you don't have to ask around like others had to!
1. I see double plugins in my installed KDE Connect. How do I fix it?
Simple! Just rename your
CraftRoot/ folder to something different. Even
CraftRoot1/ will work! It's the design of the Craft-made packages that force installed applications to look in
CraftRoot/ for the plugins first and then into their own installation folder.
2. I don't get the notification buttons, and the application name in the notifications is weird (something like
kdeconnect.daemon. How do I fix it?
Again, Simple! Just run this command, and you should be golden.
C:\CraftRoot\bin\SnoreToast.exe -install "KDE Connect DEV" "C:/CraftRoot/bin/kdeconnectd.exe" "kdeconnect.daemon"
3. How can I contact you? I'd like to talk to the team about an issue/ suggestion.
- Telegram: You can find a link to our Telegram group here.
- IRC on Freenode: #kdeconnect
- Mailing List: https://mail.kde.org/mailman/listinfo/kdeconnect
- email ID: email@example.com
Be sure to tell us if you got stuck somewhere in the process of setting up the developer environment. You can mail us. Yes we read the mails! 😜