Skip to content

Latest commit

 

History

History
23 lines (20 loc) · 2.92 KB

change-project-tags.md

File metadata and controls

23 lines (20 loc) · 2.92 KB

Change project tags

For YCM-based superbuilds, the specific branch, tag or commit used for each specific CMake package can be manually specified using the <package>_TAG CMake variables. By default, the robotology-superbuild uses the latest "stable" branches of the robotology repositories, but in some cases it may be necessary to use the "unstable" active development branches, or use some fixed tags. These advanced use cases are supported by the ROBOTOLOGY_PROJECT_TAGS CMake variable.

ROBOTOLOGY_PROJECT_TAGS is an advanced CMake option, so it is visible from the CMake GUI only after enabling the visualization of advanced variables. It can take one of three possible values:

  • Stable : this is the default value, that will use the tags or branches specified in cmake/ProjectsTagsStable.cmake that are the stables branches for the robotology projects.
  • Unstable : by selecting this option, you will use the tags or branches specified in cmake/ProjectsTagsUnstable.cmake, that are the "unstable" active development branches for the robotology projects. This is reccomended just for users that work at the IIT labs in Genoa, as it can break compilation or runtime behaviour without any notice.
  • Custom : by selecting this option, you need to manually specify the tags or branches that you want to use by specifying a custom project tags file in the ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE CMake option. It is necessary to specify the absolute location of the file. This is useful when you want to use a fixed version of the software built by the superbuild. The specified file is included in the project via the include CMake command, or if it ends with .yaml or .repos it is assumed to be a YAML file that is loaded by the ycm_load_vcs_yaml_info CMake function.

Due to limitations on how the CMake's ExternalProject modules handles the TAG option, the choice of the ROBOTOLOGY_PROJECT_TAGS option needs to be done before the source code for the CMake packages is downloaded for the first time in the src directory. If you want to change the ROBOTOLOGY_PROJECT_TAGS or ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE option in an existing superbuild, you need to manually delete the external and robotology directories, and then configure again the superbuild. Note that this also means that if you have multiple build directories for the same superbuild, all of them need to use consistent ROBOTOLOGY_PROJECT_TAGS values.