/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** No Commercial Usage
** This file contains pre-release code and may not be distributed.
** You may use this file in accordance with the terms and conditions
** contained in the Technology Preview License Agreement accompanying
** this package.
**
** GNU Free Documentation License
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of this
** file.
**
** If you have questions regarding the use of this file, please contact
** Nokia at qt-info@nokia.com.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
\page messaging-installation-on-windows-mobile.html

\title Messaging Installation On Windows Mobile
\tableofcontents

\section1 Get QtMobility and Qt packages

Get the QtMobility Package from \l {http://get.qt.nokia.com}

Get Qt 4.5.2 (or newer) Embedded for Windows Mobile package \l {http://get.qt.nokia.com/qt/source/qt-embedded-wince-opensource-src-4.5.3.zip} {download here}.

\section1 Install pre-requisites

A perl interpreter such as \l {http://www.activestate.com/activeperl} {ActivePerl} must be installed and available in the environment path.

Visual Studio 2009 or newer must be installed.

Windows Mobile 6 Standard SDK (including ActiveSync) must be installed \l {http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e} {download page}.

\section1 Build Qt

 Extract Qt 4.5.2 Embedded (or newer) into your Qt directory on windows. e.g. c:\\Qt\\4.5.2_winmobile6_standard

 Open a Visual Studio cmd shell

 Set your PATH to include the Qt binaries
 \code
        set PATH=c:\Qt\4.5.2_winmobile6_standard\bin;%PATH%
 \endcode

 Set the INCLUDE and LIB vars to point to your ActiveSync sources
 \code
        set INCLUDE=%INCLUDE%;C:\Program Files\Windows Mobile 6 SDK\Activesync\inc
        set LIB=%LIB%;C:\Program Files\Windows Mobile 6 SDK\Activesync\Lib
 \endcode

 Configure Qt
 \code
        cd c:\Qt\4.5.2_winmobile6_standard
        configure.exe -debug -platform win32-msvc2008 -xplatform wincewm60standard-msvc2008 -cetest -plugindir \qtplugins
 \endcode

 Run setcepaths to setup embedded compiler paths
 \code
        setcepaths wincewm60standard-msvc2008
 \endcode

 Use devtools/ibmake or nmake to build. If using ibmake, ensure devtools/shell is in your path and that you have ActivePerl installed on your windows machine
 \code
        ibmake
 \endcode
 or
 \code
        nmake
 \endcode

\section1 Build QtMobility Messaging

 Open a new Visual Studio cmd shell

 Set the path to Qt
 \code
        set PATH=%PATH%;c:\Qt\4.5.2_winmobile6_standard\bin
 \endcode

 Set QMAKESPEC
 \code
        set QMAKESPEC=wincewm60standard-msvc2008
 \endcode

 Run setcepaths to set embedded compiler paths
 \code
        setcepaths wincewm60standard-msvc2008
 \endcode

 Run qmake and build
 \code
        cd <path-to-mobility-messaging-depot-or-source-package>
        qmake mobility.pro
        nmake
 \endcode

 Visual Studio is recommended to build the mobility project for windows mobile, although it is not necessary, it makes debugging and deployment easier.

 \code
        cd <path-to-mobility-messaging-depot>
        qmake -tp vc QT_CONFIG+=release mobility.pro -recursive
 \endcode

 If using git edit your git configuration so it does not consider Visual Studio files

 Edit <path-to-mobility-messaging-depot>/.git/info/exclude

 Append the following
 \code
        *.sln
        *.ncb
        *.suo
        *.user
 \endcode


 Open the generated *.sln file and compile.

 If you get errors during the Visual Studio build regarding mainACRT, right click on the project, goto linker-advanced and Clear the Entry-Point value.

\section1 Deploy

 Before running a debug instance, ensure that the QtMessaging.dll is a deployment dependency for the examples and tests.

 Right click properties on project e.g. serviceactions. Under deployment->addition files add:
 \code
        "QtMessaging.dll|$(TargetDir)|%CSIDL_PROGRAM_FILES%\serviceactions|0"
 \endcode
 Replacing "serviceactions" with the relevant project.


*/
