The IDE project model

The QNX Momentics IDE is based on the open source Eclipse platform and the open source CDT project, which provide the essential portion of the functionality for projects and builds. The IDE uses the concept of a workspace that is a user-specific, writable directory on the local host.


Note that this directory itself should never be included as part of a revision control system shared between users, nor should it be located on a shared drive (unless you're certain there will only ever be one user that uses it).

The frequent and large-scale development cycles in workspace metadata may cause poor performance on network filesystems, particularly with large workspaces.

The IDE uses the concept of a project, which is a container for source and binaries, together with some configuration files that is usually located in the workspace. This project can be shared between users using a version control system. Projects themselves are flat; they cannot contain one another. However, there is a concept of a working set that lets you filter and group projects if you have too many of them in a workspace. There is also special QNX Container project which allows you to control/build sets of projects at the same time.

Note: When you select a location for your workspace, as well as the names for your projects, be aware that these names can be used in the build; make doesn't like directory and file names that contain spaces and non-standard characters. The IDE might accept these characters; however, the build wouldn't work with such these names.

For projects, you need to have a directory in the filesystem that contains the project root (source and build output), and use the same directory to contain the project metadata. If you want to separate project metadata from the source directories, you'll have to use linked folders. You have an option to include the project inside your workspace, or outside the workspace. You can determine how to create the project directory; you can check out the top level from one location and subdirectories from another location, and you can also use OS soft links, or some other means to create it.