SolidOpt has contains relatively self containing libraries, in the form of projects. They are mainly divided under the Transformations folder. In order to make the creation of new subproject and to add it to SolidOpt build system we have created a simple script automatizing the process.
The script is called createNewSolidOptProject.sh and is located under SolidOpt_SRC_DIR/tools.
If one wants to create a new multimodel transformation for example this can happen by running the script and specifying the destination folder and subproject name. For example if we wanted to create a TACtoAST transformation we would run:
cd SolidOpt_SRC_DIR ./tools/createNewSolidOptProject.sh -d src/Services/Transformations/Multimodel/TACtoAST -n SolidOpt.Services.Transformations.Multimodel.TACtoAST
This would create a folder named TACtoAST in src/Services/Transformations/ with two directories in it: src and test with sample class and test case. It would automatically hook into the CMakeLists.txt one level up to make the newly created project buildable.
One that is done, we could run make or reconfigure so that the solution files (if present) are regenerated.