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
 
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 an embedded Python version sufficient for most packages, we recommend a full installation of Python. Python is currently releasing new versions in the Python 3 series. [https://www.python.org/downloads/ Download Python 3.x]
 
=== 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 by invocating <tt>$PSVersionTable.PSVersion</tt> in a Powershell terminal.
 
In case you need a newer one, we recommend
[https://docs.microsoft.com/en-us/powershell/scripting/install/installing-powershell-core-on-windows?view=powershell-6 Powershell Core].
 
The latest version of the standard powershell can be found [https://www.microsoft.com/en-us/download/details.aspx?id=50395 here].
 
=== 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.
 
''Please note that in case you or the package you are a trying to build needs QtWebEngine, you'll have to use Visual Studio(!). MinGW is [https://bugreports.qt.io/browse/QTBUG-42725 not supported].''
 
For Visual Studio, make sure the following [https://docs.microsoft.com/en-us/visualstudio/install/modify-visual-studio components] are selected at the minimum:
* Desktop Development with C++
* C++ ATL
* Windows SDK
 
=== (Optional) Direct X SDK (only for MinGW setups) ===
(You can skip this step if you plan to use the binary cache which is enable by default, Direct X SDK is only needed during building)
 
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.
 
=== (Optional, Recommended) Enable development mode ===
Windows 10 supports the creation of symbolic links, but only if the development mode is activated.
Allowing symbolic links allows faster (much faster) extraction of archives.
[https://docs.microsoft.com/en-us/windows/uwp/get-started/enable-your-device-for-development Enable development mode]
 
=== Installing Craft===
# [https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7 Start a PowerShell environment] (Do not use PowerShell ISE, it doesn't work very well with python). It might be required to run it [https://docs.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7#with-administrative-privileges-run-as-administrator as administrator].
# Allow execution of powershell scripts by executing the following command:
#:<pre>Set-ExecutionPolicy -Scope CurrentUser RemoteSigned</pre>
# Install Craft and follow the instructions by executing the following command:
#: <pre>iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/KDE/craft/master/setup/install_craft.ps1'))</pre>
# Consider adding exception for the entire craft root directory to your antivirus' exceptions, otherwise build of some packages can fail (example: build of <code>kde/frameworks/tier2/kdoctools</code> when AVG is used).
 
 
Note: For Microsoft Visual Studio compiler, it's necessary to have VCTOOLSREDISTDIR environment variable pointing to:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\xx.xx.xxxxx" for MSVS 2017 and
VCINSTALLDIR environment pointing to "C:\Program Files (x86)\Microsoft Visual Studio\2015\Community\VC\" for MSVS 2015.
 
== 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:\CraftRoot\craft\craftenv.ps1
 
This tells Craft about your environment settings (e.g. paths). It will load your configuration from <tt>CraftRoot\etc\CraftSettings.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:\CraftRoot\craft>.\craftenv.ps1
Craft              : C:\CraftRoot
Version            : master
ABI                : windows-msvc2017_64-cl
Download directory  : C:\CraftRoot\download
 
Then [https://community.kde.org/Craft start crafting]
 
== Troubleshooting ==
 
If craft seems stalled for prolonged period of time, you may want need hit Enter in the Powershell terminal to give it a nudge.
 
== Virtual Machines ==
 
If you don't have windows - not to worry! Grab one of Microsoft's VM for development.
 
* Get a VM
** Windows VM https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/
*** This VM comes with Visual Studio pre-installed as well as a whole bunch of other crap you may or may not need. You need to modify VS to install modules needed to build KDE software. @sitter suggests this
** Edge VM https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/
*** Much less cruft but you need to manually install Visual Studio and whatever else you might need. @ervin suggests this
* Import into VM software + install guest addons if necessary and applicable
* In windows search the start menu for 'Visual Studio Installer' and start it
* Modify VS and select the components mentioned on the Craft page. For particularly easy access you can simply pick the 'desktop development with c++' and 'linux development with c++' workloads instead of the individual components
* Setup Craft as described above
 
== Advanced ==
=== Setup Visual Studio with [https://chocolatey.org/ Chocolatey] ===
* <pre>choco install -y visualstudio2019buildtools --package-parameters "--add  Microsoft.VisualStudio.Component.VC.ATL"</pre>
* <pre>choco install -y visualstudio2019-workload-vctools visualstudio2019-workload-nativedesktop visualstudio2019-workload-manageddesktopbuildtools</pre>
* <pre>choco install -y windows-sdk-10</pre>

Latest revision as of 18:53, 7 September 2022