|
|
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>
| |