The mmp project definition file contains a number of statements that are used to generate build files for emulators and target devices. The mmp file is stored in the project's group folder. The example below is the mmp file for the HelloWorldBasic application.
For more information on mmp files, see the following items:
The helloworldbasic.mmp file is as follows:
TARGET HelloWorldBasic.exe TARGETTYPE exe UID 0x100039CE 0xA000017F SECUREID 0xA000017F EPOCSTACKSIZE 0x5000 SOURCEPATH ..\src SOURCE HelloWorldBasic.cpp SOURCE HelloWorldBasicApplication.cpp SOURCE HelloWorldBasicAppView.cpp SOURCE HelloWorldBasicAppUi.cpp SOURCE HelloWorldBasicDocument.cpp SOURCE HelloWorldBasicQueryDialog.cpp SOURCEPATH ..\data START RESOURCE HelloWorldBasic.rss HEADER TARGETPATH resource\apps END //RESOURCE START RESOURCE HelloWorldBasic_reg.rss #ifdef WINSCW TARGETPATH \private\10003a3f\apps #else TARGETPATH \private\10003a3f\import\apps #endif END //RESOURCE USERINCLUDE ..\inc SYSTEMINCLUDE \epoc32\include LIBRARY euser.lib LIBRARY apparc.lib LIBRARY cone.lib LIBRARY eikcore.lib LIBRARY avkon.lib LIBRARY commonengine.lib LIBRARY efsrv.lib LIBRARY estor.lib LIBRARY eikcoctl.lib LIBRARY eikdlg.lib LANG SC 01 09 31 32 VENDORID 0 CAPABILITY NONE
The meaning of the lines is as follows:
TARGET HelloWorldBasic.exe
The name of the application executable being created.
TARGETTYPE exe
Since HelloWorldBasic is a GUI-based application, the target type is exe.
UID 0x100039CE 0xA000017F
The value for UID2 is 0x100039CE since this is a GUI-based application. The value for UID3 is0xA000017F, which is from the unprotected self-signed range since this application requires no capabilities. For more information on UIDs, see Application UIDs.
SECUREID 0xA000017F
Secure ID for the application. Usually, the application uses the same value as is used for UID3.
EPOCSTACKSIZE 0x5000
Sets the maximum stack size for the example. Note that this value is only used when the application is run on a mobile device. For more information, see epocstacksize.
SOURCEPATH ..\src
Path for the source files (.cpp) in the project structure, relative to the folder that contains the mmp file.
SOURCE HelloWorldBasic.cpp SOURCE HelloWorldBasicApplication.cpp SOURCE HelloWorldBasicAppView.cpp SOURCE HelloWorldBasicAppUi.cpp SOURCE HelloWorldBasicDocument.cpp SOURCE HelloWorldBasicQueryDialog.cpp
Source files used in an application. Each application implementation source file must be listed with a SOURCE statement in order to be compiled.
SOURCEPATH ..\data
Path for the resource files in the project structure, relative to the folder that contains the mmp file. The specified paths are used by the precompiler when the #include "header_file.h" statement is used.
START RESOURCE HelloWorldBasic.rss HEADER TARGETPATH resource\apps END //RESOURCE
Resource file declaration block for the application resources. This causes the HelloWorldBasic example's compiled resource file to be placed in epoc32\release\winscw\udeb\z\resource\apps when you build for the emulator, and to epoc32\data\z\resource\apps when you build for a release.
START RESOURCE HelloWorldBasic_reg.rss #ifdef WINSCW TARGETPATH \private\10003a3f\apps #else TARGETPATH \private\10003a3f\import\apps #endif END //RESOURCE
Resource file declaration block for the HelloWorldBasic registration resource file. The ifdef statements are used to specify a different target folder for emulator and device builds. Note that all registration files are placed in the same base folder\private\10003a3F. When you build for the emulator, the compiled registration resource files are placed in the epoc32\release\winscw\udeb\z\private\10003a3f\apps folder. When you build for the release, the compiled default registration resource file is placed in epoc32\data\z\private\10003a3f\import\apps.
USERINCLUDE ..\inc
Path for application header files in the project folder structure, relative to the folder that contains the mmp file.
SYSTEMINCLUDE \epoc32\include
The specified paths are used by the precompiler when the #includes <header_file.h> statement is used. In this case, the header files provided by the SDK are in the \epoc32\include. This path is relative to the current SDK root directory.
LIBRARY euser.lib LIBRARY apparc.lib LIBRARY cone.lib LIBRARY eikcore.lib LIBRARY avkon.lib LIBRARY commonengine.lib LIBRARY efsrv.lib LIBRARY estor.lib LIBRARY eikcoctl.lib LIBRARY eikdlg.lib
Libraries used in the application. For information on using the LIBRARY statement, see library.
LANG SC 01 09 31 32
List of languages supported by HelloWorldBasic, which supports UK English (01), Finnish (09), Simplified Chinese (31), and Japanese (32). SC is for the default language. For more information on language support, see the UI text strings section in the Internationalization and localization topic.
VENDORID 0
HelloWorldBasic does not declare a vendor. For information, see vendorid.
CAPABILITY NONE
HelloWorldBasic, does not require any capabilities.