Getting Started/Build/Windows/Environment: Difference between revisions

    From KDE TechBase
    No edit summary
    m (Text replace - "</code>" to "</syntaxhighlight>")
    (5 intermediate revisions by 4 users not shown)
    Line 1: Line 1:
    === Setting up the users environment ===
    === Setting up the build environment ===


    For using most of the tools in the commandline you will have to set up a proper environment. This includes setting the PATH variable and some additional variables needed for CMake and running KDE applications.
    For using most of the tools in the commandline you will have to set up a proper environment. This includes setting the PATH variable and some additional variables needed for CMake and running KDE applications.
    Line 5: Line 5:
    There are some assumptions made in this article:
    There are some assumptions made in this article:
    The path C:\kde4\win32libs is used as the installation directory from the kdewin-installer (which will be called KDEWIN_DIR), C:\kde4\kdelibs-install as the path where all kde4 modules will be installed to(which will be called KDEDIRS). Obviously you have to change the actual values to suite your system. The sources from SVN would reside in C:\kde4\kdelibs-src.
    The path C:\kde4\win32libs is used as the installation directory from the kdewin-installer (which will be called KDEWIN_DIR), C:\kde4\kdelibs-install as the path where all kde4 modules will be installed to(which will be called KDEDIRS). Obviously you have to change the actual values to suite your system. The sources from SVN would reside in C:\kde4\kdelibs-src.
    {{warning|Don't forget to change set MYKDEDIRS in the seconde line!}}
    Create a file and name it environment.bat:
    Create a file and name it environment.bat:
    <pre>
    <syntaxhighlight lang="text">
    @echo off
    @echo off
    set MYKDEDIRS=
    set MYKDEDIRS=


    :: environment.bat should be able to autodetect the following values
    :: This script should be able to autodetect the following values.
    :: only set them manually, if the script complains about them
    :: Only set them manually, if the script complains about them.
    :: don't use quotes (") !
    :: Don't use quotes (")!


    :: Microsoft Platform SDK install directory
    :: Microsoft Platform SDK install directory
    Line 29: Line 32:
    if "%KDEDIRS%" equ "" (
    if "%KDEDIRS%" equ "" (
         echo KDEDIRS not set
         echo KDEDIRS not set
         echo set MYKDEDIRS in %0% or KDEDIRS at the enviroment
         echo set MYKDEDIRS in %0% or KDEDIRS at the environment
         goto ERROR
         goto ERROR
    )
    )
    Line 40: Line 43:
    if "%MSPSDKDIR%" equ "" (
    if "%MSPSDKDIR%" equ "" (
         echo can't detect the Microsoft Platform SDK install directory
         echo can't detect the Microsoft Platform SDK install directory
         echo set it at the start of %0% or with the MSPSDKDIR enviroment variable
         echo set it at the start of %0% or with the MSPSDKDIR environment variable
         goto ERROR
         goto ERROR
    )
    )
    if not exist "%MSPSDKDIR%\include\windows.h" (
    if not exist "%MSPSDKDIR%\include\windows.h" (
         echo can't find windows.h in %MSPSDKDIR%\include\
         echo can't find windows.h in %MSPSDKDIR%\include\
         echo try to set the Microsoft Platform SDK install directory at the start of %0% or with the MSPSDKDIR enviroment variable
         echo try to set the Microsoft Platform SDK install directory at the start of %0% or with the MSPSDKDIR environment variable
         goto ERROR
         goto ERROR
    )
    )
    Line 57: Line 60:
    if "%CMAKEROOT%" equ "" (
    if "%CMAKEROOT%" equ "" (
         echo can't detect the cmake root directory
         echo can't detect the cmake root directory
         echo set it at the start of %0% or with the CMAKEROOT enviroment variable
         echo set it at the start of %0% or with the CMAKEROOT environment variable
         goto ERROR
         goto ERROR
    )
    )
    if not exist "%CMAKEROOT%\bin\cmake.exe" (
    if not exist "%CMAKEROOT%\bin\cmake.exe" (
         echo can't find cmake.exe in %CMAKEROOT%\bin
         echo can't find cmake.exe in %CMAKEROOT%\bin
         echo set it at the start of %0% or with the CMAKEROOT enviroment variable
         echo set it at the start of %0% or with the CMAKEROOT environment variable
         goto ERROR
         goto ERROR
    )
    )
    Line 68: Line 71:
    if "%VS80COMNTOOLS%" equ "" (
    if "%VS80COMNTOOLS%" equ "" (
         echo can't find the Microsoft Visual Studio installation directory
         echo can't find the Microsoft Visual Studio installation directory
         echo set the VS80COMNTOOLS enviroment variable
         echo set the VS80COMNTOOLS environment variable
         goto ERROR
         goto ERROR
    )
    )
    Line 81: Line 84:
    set KDEWIN32DIR=%KDEDIRS%
    set KDEWIN32DIR=%KDEDIRS%


    set INCLUDE=%PSDKDIR%\include;%KDEDIRS%\include
    set INCLUDE=%MSPSDKDIR%\include;%KDEDIRS%\include
    set LIB=%PSDKDIR%\lib;%KDEDIRS%\lib
    set LIB=%MSPSDKDIR%\lib;%KDEDIRS%\lib


    set CMAKE_INCLUDE_PATH=%INCLUDE%
    set CMAKE_INCLUDE_PATH=%INCLUDE%
    Line 96: Line 99:
    pause
    pause
    :END
    :END
    </pre>
    </syntaxhighlight>


    You will have to run this file every time you start a new cmd-shell (for building etc.).
    You will have to run this file every time you start a new cmd-shell (for building etc.).
    You should have cmake and mingw32-make etc. in your path as well.
     
    This script should be able to autodetect most of the required settings.

    Revision as of 20:57, 29 June 2011

    Setting up the build environment

    For using most of the tools in the commandline you will have to set up a proper environment. This includes setting the PATH variable and some additional variables needed for CMake and running KDE applications.

    There are some assumptions made in this article: The path C:\kde4\win32libs is used as the installation directory from the kdewin-installer (which will be called KDEWIN_DIR), C:\kde4\kdelibs-install as the path where all kde4 modules will be installed to(which will be called KDEDIRS). Obviously you have to change the actual values to suite your system. The sources from SVN would reside in C:\kde4\kdelibs-src.

    Warning
    Don't forget to change set MYKDEDIRS in the seconde line!


    Create a file and name it environment.bat:

    @echo off
    set MYKDEDIRS=
    
    :: This script should be able to autodetect the following values.
    :: Only set them manually, if the script complains about them.
    :: Don't use quotes (")!
    
    :: Microsoft Platform SDK install directory
    :: set MSPSDKDIR=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2
    
    :: CMake install directory
    :: set CMAKEROOT=C:\Program Files\CMake 2.4
    
    
    :: make only changes below this line, if you know, what you are doing
    
    
    if "%KDEDIRS%" equ "" (
        set KDEDIRS=%MYKDEDIRS%
    )
    if "%KDEDIRS%" equ "" (
        echo KDEDIRS not set
        echo set MYKDEDIRS in %0% or KDEDIRS at the environment
        goto ERROR
    )
    
    if "%MSPSDKDIR%" equ "" (
        for /F "usebackq tokens=3 delims=	" %%i in (`@reg query "HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs\D2FF9F89-8AA2-4373-8A31-C838BF4DBBE1" /v "Install Dir"`) DO (
            set MSPSDKDIR=%%i
        )
    )
    if "%MSPSDKDIR%" equ "" (
        echo can't detect the Microsoft Platform SDK install directory
        echo set it at the start of %0% or with the MSPSDKDIR environment variable
        goto ERROR
    )
    if not exist "%MSPSDKDIR%\include\windows.h" (
        echo can't find windows.h in %MSPSDKDIR%\include\
        echo try to set the Microsoft Platform SDK install directory at the start of %0% or with the MSPSDKDIR environment variable
        goto ERROR
    )
    
    
    if "%CMAKEROOT%" equ "" (
        for /F "usebackq tokens=3 delims=	" %%i in (`reg query "HKLM\SOFTWARE\Kitware\CMake 2.4.6" /ve`) DO (
            set CMAKEROOT=%%i
        )
    )
    if "%CMAKEROOT%" equ "" (
        echo can't detect the cmake root directory
        echo set it at the start of %0% or with the CMAKEROOT environment variable
        goto ERROR
    )
    if not exist "%CMAKEROOT%\bin\cmake.exe" (
        echo can't find cmake.exe in %CMAKEROOT%\bin
        echo set it at the start of %0% or with the CMAKEROOT environment variable
        goto ERROR
    )
    
    if "%VS80COMNTOOLS%" equ "" (
        echo can't find the Microsoft Visual Studio installation directory
        echo set the VS80COMNTOOLS environment variable
        goto ERROR
    )
    
    echo psdk: %MSPSDKDIR%
    echo cmake: %CMAKEROOT%
    
    set PATH=%KDEDIRS%\bin;%PATH%;%CMAKEROOT%\bin;%MSPSDKDIR%\bin
    set DBUSDIR=%KDEDIRS%
    set QTDIR=%KDEDIRS%
    set KDEWIN_DIR=%KDEDIRS%
    set KDEWIN32DIR=%KDEDIRS%
    
    set INCLUDE=%MSPSDKDIR%\include;%KDEDIRS%\include
    set LIB=%MSPSDKDIR%\lib;%KDEDIRS%\lib
    
    set CMAKE_INCLUDE_PATH=%INCLUDE%
    set CMAKE_LIBRARY_PATH=%LIB%
    
    call "%VS80COMNTOOLS%vsvars32.bat"
    
    cmd.exe
    
    goto END
    
    :ERROR
    pause
    :END
    

    You will have to run this file every time you start a new cmd-shell (for building etc.).

    This script should be able to autodetect most of the required settings.