Project Overview¶
The SLC project description file (.slcp) describes a single software application, which can be used to generate an IDE project. The IDE project is then used to build the application.
Project description files can be located anywhere on disk, either inside or outside an SDK. The location of the .slcp file marks the root directory of the project, and all project-relative paths are resolved from this starting point.
By default, the output directory for project generation is the root directory, but some tools allow setting a custom output directory. The IDE project is written to the output directory together with configuration files from the project and constituent components in the config
subdirectory, and template files from components in the autogen
subdirectory.
Multiple project description files may reside in the same directory, but it is recommended to keep projects separate to avoid conflicts between their config
and autogen
directories. This may be done either by generating the project to a custom directory, or by keeping the .slcp files in separate directories. The Simplicity Studio IDE always generates the project into the same directory as the .slcp file, while the SLC-CLI tool supports setting a custom generation directory.
Unresolved Project¶
The project as stored on-disk in a .slcp file is unresolved, meaning that it only contains information about the direct dependencies of the project.
Resolved Project¶
As part of the project generation process, dependencies are resolved.
IDE Project¶
Finally, the resolved project is converted to a project for a specific IDE. The IDE project refers to the source files and include paths from all used components, as well as any configuration files and autogenerated files that were added to the project.