<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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<div>My main issue is not a full Qt Creator integration. My first need is build with cmake from console.</div><div><br></div><div>Currently Qt support 2 toolchain: abdl and raptor.<br><div><br></div><div><font class="Apple-style-span" face="Verdana"><font class="Apple-style-span" face="Helvetica"><br></font></font></div><div><span class="Apple-style-span" style="font-family: Verdana; "><br></span></div><div><font class="Apple-style-span" face="Verdana">I</font></div><div><span class="Apple-style-span" style="font-family: Verdana; "><br></span></div><div><font class="Apple-style-span" face="Verdana"><br></font></div><div><div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><br></span></div><div><blockquote type="cite"><div><a href="http://www.paraview.org/Wiki/CMake_Cross_Compiling">http://www.paraview.org/Wiki/CMake_Cross_Compiling</a><br></div></blockquote><div><br></div><div><div style="font-family: Verdana; ">After reading&nbsp;<span class="Apple-style-span" style="font-family: Verdana; ">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:</span></div><div style="font-family: Verdana; "><span class="Apple-style-span" style="font-family: Verdana; ">1) one bdl.inf&nbsp;</span></div><div style="font-family: Verdana; "><span class="Apple-style-span" style="font-family: Verdana; ">2) one or more&nbsp;</span><span class="Apple-style-span" style="font-family: Verdana; ">*.mpp file</span></div><div style="font-family: Verdana; "><span class="Apple-style-span" style="font-family: Verdana; ">3) optionally a pkg file</span></div><div style="font-family: Verdana; "><span class="Apple-style-span" style="font-family: Verdana; "><br></span></div><div style="font-family: Verdana; "><span class="Apple-style-span" style="font-family: Verdana; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">You process these files with a&nbsp;</font><u><font class="Apple-style-span" face="Helvetica">tool named '</font><b><font class="Apple-style-span" face="Helvetica">bldmake</font></b><font class="Apple-style-span" face="Helvetica">'&nbsp;</font></u><font class="Apple-style-span" face="Helvetica">and will obtain a batch file&nbsp;</font><u><font class="Apple-style-span" face="Helvetica">('ABLD.BAT')&nbsp;</font></u><font class="Apple-style-span" face="Helvetica">and some makefiles that will build the application for you.</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">This tool exists mainly because a Symbian application is usually built for many platforms:&nbsp;</font></div><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "></p><ul style="margin-top: 0px; margin-bottom: 0px; "><li style="margin-top: 0px; margin-bottom: 0px; "><font class="Apple-style-span" face="Helvetica">the emulator, using a Microsoft X86 compiler,&nbsp;</font></li><li style="margin-top: 0px; margin-bottom: 0px; "><font class="Apple-style-span" face="Helvetica">as well as the real device using a gcc-derived ARM compiler.&nbsp;</font></li></ul><font class="Apple-style-span" face="Helvetica"><br></font><div style="margin-top: 0px; margin-bottom: 0px; "><u><font class="Apple-style-span" face="Helvetica">The bldmake saves you from writing specially crafted makefiles</font></u><font class="Apple-style-span" face="Helvetica">&nbsp;for these compilers and make utilities; also it allows for building many targets with just a single command.</font></div><div style="margin-top: 0px; margin-bottom: 0px; "><font class="Apple-style-span" face="Helvetica">From the bld.inf, type:</font></div><pre style="white-space: pre-wrap; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">     &gt; bldmake bldfiles
</span></font></pre><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">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&nbsp;</font><b><font class="Apple-style-span" face="Helvetica">ABLD.BAT</font></b><font class="Apple-style-span" face="Helvetica">. Now you have all you need to build your applications. Simply type:</font></div><pre style="white-space: pre-wrap; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">     &gt; abld build
</span></font></pre><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">This will build your application in&nbsp;</font><u><font class="Apple-style-span" face="Helvetica">all the available flavors</font></u><font class="Apple-style-span" face="Helvetica">.</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">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)!&nbsp;</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">But you can&nbsp;</font><u><font class="Apple-style-span" face="Helvetica">choose to build for only one target</font></u><font class="Apple-style-span" face="Helvetica">, 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:</font></div><pre style="white-space: pre-wrap; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">     &gt; abld build wins udeb
     &gt; abld buind thumb urel
</span></font></pre><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">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.&nbsp;</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica">But&nbsp;</font><u><font class="Apple-style-span" face="Helvetica">for real devices</font></u><font class="Apple-style-span" face="Helvetica">, 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&nbsp;</font><b><span class="Apple-style-span" style="background-color: rgb(0, 255, 0); "><font class="Apple-style-span" face="Helvetica">.pkg file</font></span></b><font class="Apple-style-span" face="Helvetica">&nbsp;to describe the installer, and then create it with:</font></div><pre style="white-space: pre-wrap; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">     &gt; makesis file.pkg</span></font></pre><div><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; "><br></span></font></div><div><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; ">this is a small example:</span></font></div><div><font class="Apple-style-span" face="Helvetica" size="3"><span class="Apple-style-span" style="font-size: 12px; "><meta charset="utf-8"><span class="Apple-style-span" style="font-family: Verdana; font-size: 13px; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2">Here is a simple example of a&nbsp;<span class="s1 Apple-style-span"><font class="Apple-style-span"><span class="Apple-style-span" style="background-color: rgb(0, 255, 0); ">bld.inf</span></font>&nbsp;</span>file:</font></div><font class="Apple-style-span" size="2"><br></font><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">PRJ_PLATFORMS</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">DEFAULT&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">PRJ_EXPORTS&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">..</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">inc</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">SoundTouch.h&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">..</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">inc</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">FIFOSamplePipe.h&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">..</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">inc</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">FIFOSampleBuffer.h&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">..</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">inc</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">STTypes.h&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">PRJ_MMPFILES&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SoundTouch.mmp</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2">This specifies that the project should generate makefiles for the default platforms (currently&nbsp;<span class="s2 Apple-style-span">WINSCW</span>,&nbsp;<span class="s2 Apple-style-span">ARMV5&nbsp;</span>and&nbsp;<span class="s2 Apple-style-span">GCCE</span>), export four header files and build a single component which is specified in&nbsp;<span class="s2 Apple-style-span">SoundTouch.mmp</span>. The corresponding&nbsp;<font class="Apple-style-span"><span class="Apple-style-span" style="background-color: rgb(0, 255, 0); ">MMP file</span></font>&nbsp;looks like this:</font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">TARGET&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SoundTouch.dll</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">TARGETTYPE&nbsp;&nbsp;&nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">dll&nbsp;&nbsp; &nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">UID &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">0x1000008D 0x0839739D</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">CAPABILITY&nbsp;&nbsp;&nbsp; &nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">None</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">USERINCLUDE&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</font></font><font class="Apple-style-span" size="2"><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">..</font></span><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">inc</font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SYSTEMINCLUDE &nbsp; &nbsp;&nbsp;</font></font><font class="Apple-style-span" size="2"><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">epoc32</font></span><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">include&nbsp;</font></span><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">epoc32</font></span><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">include</font></span><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><span class="s3 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">stdapis</font></span></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SYSTEMINCLUDE&nbsp;&nbsp;&nbsp; &nbsp;</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">epoc32</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">include</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">stdapis</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">sys&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SYSTEMINCLUDE &nbsp;&nbsp; &nbsp;</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">epoc32</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">include</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">stdapis</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">stlport&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SOURCEPATH &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;..</font><span class="s1 Apple-style-span"><font class="Apple-style-span" face="'Courier New'">\</font></span><font class="Apple-style-span" face="'Courier New'">src&nbsp;</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SOURCE &nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;SoundTouch.cpp AAFilter.cpp</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SOURCE&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">FIFOSampleBuffer.cpp FIRFilter.cpp</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">SOURCE&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">RateTransposer.cpp TDStretch.cpp</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">LIBRARY&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;</font></font><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">euser.lib</font></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">LIBRARY</font></font>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;<font class="Apple-style-span" size="2"><font class="Apple-style-span" face="'Courier New'">libc.lib libm.lib libstdcpp.lib</font></font></div></span></span></font></div></span></div></div><div><br></div><div>Do we need a custom generator to recreate this process with cmake?</div><div><br></div><br><blockquote type="cite"><div><a href="http://www.itk.org/Wiki/Symbian_Carbide_Generator">http://www.itk.org/Wiki/Symbian_Carbide_Generator</a><br></div></blockquote><div>I'm not sure but this generator produce a project for carbide so I need carbide to build a project. Is it right?</div><div><br></div><div>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.</div><div><br></div></div></div></div></body></html>