Managing Subprojects with Codewarrior

Keywords:

Metrowerks/Nokia Codewarrior is a powerful IDE for mobile application development but is sometimes a little bit tricky to setup. It took me two year to discover that the environment was able to handle dependency between projects....

cw-sub1.pngLet's take the example of one of our current project. This one has three different components (ok, it has a little bit more, but three is enough to show subproject management):
-  ImClientS60 is the Client UI for the Series 60 target
-  ImClEngine is the engine DLL
-  ImServer is a server running in background

As ImClientS60 uses services from the two other components, I want that ImClEngine and ImServer to be automatically recompiled when I compile the UI. Here is how it can be done:

-  Using the windows file explorer, locate where the subproject .mcp files are located. Depending on your IDE configuration, this will be in the directory of the corresponding MMP file or under the Epoc32/Build/ directory.

-  Drag and drop each mcp file in the project window of your master project.

-  Move to the Target tab of the master project window

-  Expand the target and mcp label

-  click on the red target icon to select which target to compile for each subproject. A small black arrow should be added on each target you add. cw-sub2.png

That's it. You can now compile ImClientS60 and this will automatically update the ImClEngine and ImServer component if needed.