Guidelines and HOWTOs/Build from source/Windows: Difference between revisions

From KDE Community Wiki
(Redirect to https://community.kde.org/Get_Involved/development/Windows)
Tag: New redirect
 
(54 intermediate revisions by 17 users not shown)
Line 1: Line 1:
''Craft'' is a tool to build the sources and its third-party requirements. It is the '''easy''' way to build software.
#REDIRECT [[Get_Involved/development/Windows]]
 
== Setting up craft ==
== Installing python?==
While Craft is capable of installing a embedded Python version sufficient for most packages, we recommend a full installation of Python. The current version is 3.6. [https://www.python.org/downloads/ Download Python 3.6+]
 
=== Setting up a powershell ===
Powershell is required to be at least version 5.0.
If you're running Windows 10 you most probably won't need to update Powershell.
 
You can check the version with <tt>$PSVersionTable.PSVersion</tt> .
 
[https://www.microsoft.com/en-us/download/details.aspx?id=50395 Download Powershell]
 
=== Setting up a compiler ===
Currently Craft supports both the MinGW and Microsoft Visual Studio (msvc) compiler.
While MinGW can be installed by Craft, [https://www.visualstudio.com/ Visual Studio] must be installed independently by the user.
 
=== Direct X SDK ===
If you are using the MinGW compiler, in order to compile the Qt5 ''qtbase'' package you will also need to install the [https://www.microsoft.com/en-us/download/details.aspx?id=6812 Microsoft DirectX SDK]. Make sure to open a new command line window after the installation for the environment variables to be set.
 
=== Installing Craft===
* Start a powershell environment.
* Allow execution of powershell scripts.
  Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
* Install Craft and folow the instructions
iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/KDE/craft/master/setup/install_craft.ps1'))
 
== Using Craft ==
To use Craft you need to start a Powershell window, point that to <tt>KDEROOT\craft </tt> and run the initalization script. For example:
 
C:\KDEROOT\craft\kdeenv.ps1
 
This tells Craft about your environment settings (e.g. paths). It will load your configuration from <tt>KDEROOT\etc\kdesettings.ini</tt>. If there are any error messages Craft will not work as expected. The output should look similar to this one (of course with your paths):
 
PS C:\kderoot\craft>.\kdeenv.ps1
KDEROOT    : C:\kderoot\
KDECOMPILER : msvc2015
KDESVNDIR  : C:\kderoot\download\svn
KDEGITDIR  : C:\kderoot\download\git
DOWNLOADDIR : C:\kderoot\download
PYTHONPATH  : C:\kderoot\python
PS C:\kderoot\>
 
=== Common Craft commands ===
* '''Installing a package and its dependencies''': Simply run <syntaxhighlight lang="text">craft packagename</syntaxhighlight>
* '''Updating an installed package''': Once you have ''packagename'' built, type <syntaxhighlight lang="text">craft -i packagename</syntaxhighlight> to update <tt>packagename</tt>.
* '''Updating Craft''':<syntaxhighlight lang="text">craft craft</syntaxhighlight>
 
== Advanced tips ==
 
 
To build a non default version, append a line to [https://phabricator.kde.org/source/craft/browse/master/kdesettings.ini;3e3b3817deb9f17d2779d2275382d453104ed9e6$99 kderoot/etc/kdesettings.ini] of form:
 
category/packagename = branch
 
For example, to install master branch of kdevelop, the line to be appended should look like:
extragear/kdevelop = master
 
To find the category of the package you want to install, run this in powershell:
craft --search packagename
The second line of the output will be of form: <tt>category/packagename</tt>
 
== Troubleshooting ==
 
If a package fails to build, you'll be greeted with something like:
 
  ...
  craft warning: while running make cmd: jom
  craft warning: Action: compile for libs/qt5/qtbase FAILED
  *** Craft all failed: all of libs/qtbase failed after 0:07:25 ***
  craft error: fatal error: package libs/qtbase all failed
 
In order to figure out ''what'' failed, grep the command line output ''above'' for errors.
 
Or have a look at the log file located in <tt> %USERPROFILE%\.craft</tt> which will contain much more details.
 
Search for "error", or "error:" in the file.

Latest revision as of 18:53, 7 September 2022