Windows/Build/DistributionBasedBuild

From KDE Community Wiki

This page describes (re)building of KDE binary packages using the kdewin distribution.

Applications build in this way will not have debugging support because the packages build in release mode do not have any debug symbols. If you need debug symbols you should use the Windows emerge tool

It is assumed that KDE is installed using the KDEWin gui or console installer in %PROGRAMFILES%\kde and a developer tries to recompile the kdeedu binary package. It is also assumed that the KDE installation tree is empty or contains only packages for the related compiler.

(Re)building packages for MS Visual Studio C++

  • run the installer in Package Manager Mode and select msvc compiler
  • choose the all category and select (at least) the following packages
    • kdeedu bin and source package - this will also select all depending packages
    • automoc
    • cmake
    • perl
    • psdk-msvc
    • one of the vcexpress-xx-msvc package
    • the development packages required for building the requested package. In the Package Manager mode of the gui installer you can see the required package dependencies by clicking on the package name (only first level dependency yet). For the kdeedu package the development package for kdelibs-msvc, kdebase-runtime-msvc, phonon-msvc and qt-msvc are required.
  • install the selected packages using the installer.
  • open a Visual Studio command prompt
  • set the required environment for the MS Platform SDK e.g. if your are using the 2003 R2 Release of the Platform SDK the command line looks like that:
   "%PROGRAMFILES%\Microsoft Platform SDK for Windows Server 2003 R2\setenv.cmd"
  • add the bin subdirectory of the kde installation dir to the PATH environment variable:
  set PATH=%PROGRAMFILES%\kde\bin;%PATH%
  • enter src subdirectory of the kde installation root
  cd %PROGRAMFILES%\kde\src
  • create a build directory and enter it
  mkdir kdeedu-msvc-build && cd kdeedu-msvc-build
  • run cmake
  cmake.exe -G "NMake Makefiles" ..\kdeedu-msvc-4.1.3 -DCMAKE_INCLUDE_PATH=%PROGRAMFILES%\kde\include -DCMAKE_LIBRARY_PATH=%PROGRAMFILES%\kde\lib -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%PROGRAMFILES%\kde
  • build
   nmake
  • install the compiled package
   nmake install

(Re)building packages for the MinGW compiler

  • run the installer in Package Manager Mode and select mingw compiler
  • choose the all category and then select the following packages
    • the kdeedu bin and source package - this will also select all depending packages
    • automoc
    • cmake
    • gcc-mingw
    • perl
    • the development packages required for building the requested package. In the Package Manager mode of the gui installer you can see the required package dependencies by clicking on the package name (only first level dependency yet). For the kdeedu package the development package for kdelibs-mingw, kdebase-runtime-mingw and qt-mingw are required.
  • install the selected packages using the installer. For the gcc-mingw package use \Mingw as installation root.
  • add bin subdirectory of the mingw installation dir to the PATH environment variable
   set PATH=\Mingw\bin;%PATH%
  • add bin subdirectory of the kde installation dir to the PATH environment variable
   set PATH=%PROGRAMFILES%\kde\bin;%PATH%
  • enter src subdirectory of the kde installation root e.g.
   cd %PROGRAMFILES%\kde\src
  • create a build directory and enter it
   mkdir kdeedu-mingw-build && cd kdeedu-mingw-build
  • run cmake
   cmake.exe -G "MinGW Makefiles" ..\kdeedu-mingw-4.1.3 -DCMAKE_INCLUDE_PATH=%PROGRAMFILES%\kde\include -DCMAKE_LIBRARY_PATH=%PROGRAMFILES%\kde\lib -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=%PROGRAMFILES%\kde
  • build
   mingw32-make
  • install the compiled package
   mingw32-make install

Make a binary package for the KDE on windows distribution

  • run the installer in Package Manager Mode and select kdewin-installer(-mingw|-msvc)
  • install the above mentioned packages with <make-tool> install
  • run kdewin-packager from kde installation bin dir with the following options:
 - name <the name of the package>
 - version <the package version e.g. 1.2.3 or 20090312
 - type <msvc> or <mingw> depending on the type of used compiler
 - root <the install root where the package has been installed into>
 - srcroot <the root of the source package tree>
 - destdir <the directory where the package will be placed into>