Hi, I don't have much time to spend on this but looking at qmake source code I've found this files: http://qt.gitorious.org/qt/qt/blobs/4.6-stable/mkspecs/common/symbian/symbian.conf http://qt.gitorious.org/qt/qt/trees/4.6-stable/mkspecs/symbian-abld
I'm not sure but it could be useful to understand how qmake generate a project for the symbian platform. mkspecs contains the platform specific definitions. Nicola Brisotto 2010/9/30 Alexander Neundorf <a.neundorf-w...@gmx.net>: > On Thursday 30 September 2010, Nicola Brisotto wrote: >> I use Qt creator with cmake for desktop application and it work well. It >> has support for out of source build, it populate the project browser with >> you source and header, etc My main issue is not a full Qt Creator >> integration. My first need is build with cmake from console. >> >> Currently Qt support 2 toolchain: abdl and raptor. >> >> >> >> I >> >> > http://www.paraview.org/Wiki/CMake_Cross_Compiling >> >> After reading Wiley - "Porting to the Symbian Platform Open Mobile >> Development in C and C++", chapter 2.5.2 and 2.5.3 and some tutorial I >> understand that abdl uses 3 kind of file: 1) one bdl.inf >> 2) one or more *.mpp file >> 3) optionally a pkg file >> >> You process these files with a tool named 'bldmake' and will obtain a batch >> file ('ABLD.BAT') and some makefiles that will build the application for >> you. >> >> This tool exists mainly because a Symbian application is usually built for >> many platforms: the emulator, using a Microsoft X86 compiler, >> as well as the real device using a gcc-derived ARM compiler. >> >> The bldmake saves you from writing specially crafted makefiles for these >> compilers and make utilities; also it allows for building many targets with >> just a single command. >> >> From the bld.inf, type: >> > bldmake bldfiles >> >> Of course, you must have the PATH set correctly for the installation of the > SDK you are using. This command will look for the bld.inf, process it and the > related *.mmp, then generate a BATCH file named ABLD.BAT. Now you have all > you need to build your applications. Simply type: >> > abld build >> >> This will build your application in all the available flavors. >> Note that the target files are stored in a very deep directory structure, >> and you are building both in debug and release versions for WINS (windows), >> ARM4 (plain arm), ARMI (speed optimized arm), THUMB (size optimized ARM)! >> >> But you can choose to build for only one target, and since it take less > time, you usually build ONLY for one version of one target. For example, to > build for the emulator only in the debug version, or for the device, > optimized for size, in release version, you type: >> > abld build wins udeb >> > abld buind thumb urel >> >> Building for Windows is enough to start the emulator and run the >> application in the emulated environment. Application files are compiled and >> placed straight where the emulator can run it: no need to copy them in the >> right location. >> >> But for real devices, you have to pack everything in a .sis file for > installation, send it to the phone and install the application. You are > required to write a .pkg file to describe the installer, and then create it > with: >> > makesis file.pkg >> >> this is a small example: >> Here is a simple example of a bld.inf file: >> >> PRJ_PLATFORMS >> DEFAULT >> PRJ_EXPORTS >> ..\inc\SoundTouch.h >> ..\inc\FIFOSamplePipe.h >> ..\inc\FIFOSampleBuffer.h >> ..\inc\STTypes.h >> PRJ_MMPFILES >> SoundTouch.mmp >> >> This specifies that the project should generate makefiles for the default >> platforms (currently WINSCW, ARMV5 and GCCE), export four header files and >> build a single component which is specified in SoundTouch.mmp. The >> corresponding MMP file looks like this: >> >> TARGET SoundTouch.dll >> TARGETTYPE dll >> UID 0x1000008D 0x0839739D >> CAPABILITY None >> USERINCLUDE ..\inc >> SYSTEMINCLUDE \epoc32\include \epoc32\include\stdapis >> SYSTEMINCLUDE \epoc32\include\stdapis\sys >> SYSTEMINCLUDE \epoc32\include\stdapis\stlport >> SOURCEPATH ..\src >> SOURCE SoundTouch.cpp AAFilter.cpp >> SOURCE FIFOSampleBuffer.cpp FIRFilter.cpp >> SOURCE RateTransposer.cpp TDStretch.cpp >> LIBRARY euser.lib >> LIBRARY libc.lib libm.lib libstdcpp.lib > > Thanks for that summary, that's great. > >> Do we need a custom generator to recreate this process with cmake? > > I started creating Symbian cmake files so that cmake can generate Makefiles > for Symbian, and got so far that I was able to compile and link a hello world > app. > The patch is from January and attached here: > http://public.kitware.com/Bug/view.php?id=8486 > It's the one called "Symbian.patch". > > You can start and have a look at it. > It currently supports only one version of Symbian (the one I have), for > compiling for Symbian under Linux. > The detection of the version happens in Symbian-GNU-Common.cmake. If you > follow from there on, you should be able to figure out what needs to be done > for other versions of symbian. > > The main thing left is the processing of the executable after it has been > linked. > > For the beginning probably add_custom_command()/add_custom_target() should be > good enough. > >> > http://www.itk.org/Wiki/Symbian_Carbide_Generator > >> I'm not sure but this generator produce a project for carbide so I need >> carbide to build a project. Is it right? >> >> Now there is alternative tool chains called Raptor that claim to be >> compatible with the bld/mmp interface. When take a look at will advice. > > > Alex > _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake