I am an Xcode newbie and am looking for some advice on how to organize a project that builds a suite of applications.
[Q] Is it best to use one large project with multiple targets (one per application) or multiple projects (each with a single target) to manage the suite?
DETAILS ----------
The suite of applications includes source files (some of which are shared between applications in the suite, some of which are not). There are also application-specific directories in the source tree which handle cases where there are file-name conflicts between applications. The root directory of the suite looks something like this:
Folder Suite \
|- file xx
|- Folder A \
| |- file A1.h
| |- file A1.cpp
| |- ...
|- Folder B \
| |- file B1.h
| |- file B1.cpp
|- Folder (A) \
| |- file std-name-1.h
| |- file unique-name-A.h
|- Folder (B) \
| |- file std-name-1.h
| |- file unique-name-B.h
|...
(In the above diagram, Folder (A) means a folder whose name INCLUDES the parentheses.)
In CodeWarrior, each application in the suite has a project of it own. In addition, there is a project that consists solely of references to these application-projects that contains a target that builds the entire suite.
In Xcode, it appears that the most obvious approach is to create a single large project with one target for each application (and debug/release configurations for each). Is this a good strategy? What are the pluses and minuses? What sort of experience do others have in this regard? And if I use a single large multi-target project, what is the best way to automate a full-suite build?
N.B.: The suite consists of a dozen applications and around 1500 files...