SubSystems
GBS recognises a numer of SubSystem types that can be either Full GBS or Non-Full GBS.
- Full GBS
- Non-Full GBS
- MSVS (MicroSoft Visual Studio) - Windows only
- make
- Other
In general:
- Full GBS Subsystems:
- Have a 'comp' directory that contains the Components that contain the code
- The directory structure beneath 'comp' is fixed
- Components and their contents are fully handled by GBS
- Commands like gbsgen,
gbsmake and
gbsaudit work here.
Just as gbssysgen,
gbssysmake and
gbssysaudit
- Non-Full GBS Subsystems:
- Have an 'app' directory that contains user defined directories that contain the code
- The directory structure beneath 'app' is completely free
- There are no GBS Components
- Commands like gbsgen, gbsmake and gbsaudit do not work here
- Execution only by commands gbssysgen,
gbssysmake and
gbssysaudit.
Execution is controlled by the gbssub.bat and/or gbssub.sh in the SubSystem directory
There is a vast amout of EnvVars that are set before execution of gbssub.bat|.sh to be able to
achieve the required functionality. E.g.: Generate for Debug or Release, etc.
More information on the gbssub file, including an example can he fouhd in gbssub.bat.
MSVS SubSystem
You should create/copy your main project of solution file directly in the 'app' directory.
You will already have a gbssub.bat file appropriate for MSVS, with lots of comments.
Run 'gbsedit gbssub' to change to the wanted functionality.
make SubSystem
You should create/copy your 'make' code treedirectly in the 'app' directory.
Your main 'make' file should be either in the SubSystem directory or the 'app' directory.
You will already have a gbssub.bat|.sh file appropriate for 'make', with lots of comments.
Run 'gbsedit gbssub' to change to the wanted functionality.
Other SubSystem
You should create/copy your code tree directly in the 'app' directory.
You will already have a generic gbssub.bat|.sh file, with lots of comments.
Run 'gbsedit gbssub' to to change to the wanted functionality.
Steps
By default SubStems are handled (gen, make, audit) in Alphabetical order.
With the definition of Steps in steps.gbs this order can be changed.
It is also possible to make selections of SubSystems optional in various ways.
It is also possible to define non-SubSytem steps, called 'Commands' that will allow you to execute commands to e.g.:
Copy end-results to a specific directory outside then GBS tree, run Doxygen on the whole GBS tree, etc
More information in steps.gbs.
Copyright © Randy Marques of Randy Marques Consultancy - All rights reserved