-
Notifications
You must be signed in to change notification settings - Fork 0
Subprojects
Subfolders in which a configuration file (files ending in comp.toml) is present are used as Subprojects. There may be multiple configuration files present, which one is used for subprojects is determined by the NEXT_CONFIG Config-Variable of their parent project. If this was not defined, or the declared Configuration-file is not present, the User will be asked which one to use, or if this project should be ignored.
All Subprojects of the Top-Level Project will be linked to create one Executable, unless specified differently in their configuration files.
Definitions relevant to Subprojects are:
-
NEXT_CONFIG = "x"- defines which comp.toml file should be used if subprojects with multiple files ending in comp.toml are present in a subproject by their name.
-
GENERATE_EXECUTABLE- boolean value (true/false, for top-Level projects by default true, for lower level projects by default false), determines if this project should generate an executable
-
PROPAGATE = ["path/to/srcs","...]- list of folders in this Project that should be linked with other Projects. If GENERATE_EXECUTABLE is true, no folders are shared with other projects, to prevent multiple definitions of main. This Overrides that behaviour for the given directories. Enabling this for some folders only makes sense if the this project produces an executable.
-
ONLY_LINK_WITH_DIRECT_PARENT = false- boolean value, defines if a project should only be linked with its direct parent project, or be linked with all other projects. Turning this on only makes sense if the direct parent project produces an executable.
-
INHERIT = ["DEFINITION", "...]- list of definitions that avaivable. The set definitions must be set to a value for this project. Enables that the set definitions' values will be inhereted to this project's subprojects. By setting
INHERIT = ["INHERIT", "...], the set definitions will be passed on to sub-subprojects, and continuing. If a subprojects changes one of the set definitions, this one will be used, and in case of further inheritance be inherited.
- list of definitions that avaivable. The set definitions must be set to a value for this project. Enables that the set definitions' values will be inhereted to this project's subprojects. By setting
-
GENERATE_TEST- boolean value (true/false, default false), shorthand for
- GENERATE EXECUTABLE = true
- PROPAGATE = all of main_directory without main_directory/*test
- ENTRYPOINT += main_directory/*test
- NEXT_CONFIG = the name of this config file (overrideable by defining NEXT_CONFIG)
- boolean value (true/false, default false), shorthand for
Files can include Files from other Projects.