Groups, Applications, Libraries, and Packages

Projects are organized into Group, Application, Library, and Package nodes. The Projects view visually displays a project file (4pw) for easy management of project source files.

Group

Group nodes organize the Application and Library nodes that make the project. Define default properties by setting them at the group level (TargetDir, Language, Compiler options, etc.) Properties defined for the Group node are inherited by all child nodes. To organize the files, you can add virtual folders under a Group node.

Note: Virtual folders exist only in the logical view in Project Manager; they do not exist in the physical file structure.

Application

An Application node is used to generate an executable program (42r). Application nodes can contain both files and virtual folders.

Only one of the files in an Application node may have a MAIN statement; a single Application node creates a single executable. The name of the Application node is used as the name of the 42r file, so it must be unique and can only contain characters allowed by the file system.

The default application is shown in boldface. Use the Projects view integrated Toolbar to set a different application as the default. The options on the Build menu execute for the default application.

Library

A library node is used to group binary files into a single library and generate a library file (42x). Library nodes can contain both files and virtual folders. The name of the library node is used as the name of the 42x file, so it must be unique and can only contain characters allowed by the file system.

Libraries should be used when creating a set of features having a common goal, such as the logic of an application or a library of mathematical functions. A library can also be used to group other project files together (images, styles, or other resources).

If a library node contains no 4gl file, no 42x is built.

A library from a different project can be added to a project using the context menu option Add External Project.
Important: A library must be linked to any application in which it will be used. Right-click the application node, select Advanced Properties, dependencies, and select the checkbox for any required library.

Packages

A package node is used to package an application for deployment to a mobile device or for distribution to users. You can add Directory nodes under a Package node to organize the files. See Packaging, deploying, and distributing apps.