Copyright ã1996 by NeXT Software, Inc.  All Rights Reserved.

;ChangingAProjectsName.rtfd;;¬  Next Section	;SettingIndexingPreferences.rtfd;;¬   Previous Section

Groupingprojects;¬Grouping projects

¬	To incorporate the build result of one project into the build result of another project, create a subproject.

¬	To group together related projects of any type, create an Aggregate project.

If you have many projects that relate to each other, you may want to organize them as a single project in Project Builder. You can group projects into a single project in two ways: by creating a subproject and by creating an Aggregate project.

If one of the projects is clearly a part of the other, create it as a subproject of that other project. To create a subproject within a project, choose New Subproject from the Project menu to bring up the New Subproject panel, choose the type of subproject you want to create, type a name for the subproject in the Name field, and click OK.

¬

When you create a subproject, you are creating a project whose build result (executable or bundle) is incorporated into the build result of the main project. (A bundle is simply a file package directory that contains all of the resources the user needs to execute the program.) If the main project produces a bundle as its build result, the subproject's executable or bundle is placed inside the main project's bundle. Component subprojects produce an object file that is linked with the main project's executable. A component's resources are merged into the resource directory of the main project. 

For example, if you are creating an application named MyApp and one of the application's commands invokes a tool named aTool, you might want to have the aTool project be a subproject of the application project. When you build the application, aTool is built as well. After all of the code in both projects has been compiled and linked, Project Builder creates a directory (bundle) named MyApp.app. That directory contains aTool as well as the application's executable and its resources.

By creating a subproject, you are creating a project that is subordinate to the main project. In some cases, a subordinate relationship doesn't make sense. For example, you can't have one application be a subproject or another application. 

If the projects' executables don't need to be tied to each other but you want to group them together as a convenience, create an Aggregate project. Then make those projects be subprojects of the aggregate. (You create an Aggregate project the same way you create any other type of project.)

¬

The only purpose of an aggregate project is to group other projects together. The aggregate itself produces no executable or bundle. Because of this, you can have any type of project, even applications and frameworks, be a subproject of an aggregate. 

For example, suppose you've created several tools to test a framework that you're working on. If you want to manage all of these projects as a single unit, you can create an aggregate project and include the tools and the framework as subprojects of the aggregate.

Tip: To have all subprojects be listed in the top level of the browser (rather than under Subprojects), set the preference on the Miscellaneous Preferences panel.