Skip to content

Latest commit

 

History

History
51 lines (45 loc) · 3.99 KB

developers-faqs.md

File metadata and controls

51 lines (45 loc) · 3.99 KB

Developers' Frequently Asked Questions (FAQs)

How to add a new package

  • Decide in which "profile" of the superbuild the project should be installed
  • If the software package is available on GitHub and can be built with CMake (the most common case), just add a Build<package>.cmake in the cmake directory of the superbuild. You can take inspiration from the Build***.cmake files already available, but if you want to add a package that is called , that dependens on CMake packages <pkgA>, <pkgB> and <pkgC> and is available at https://github.com/robotology/<package-repo-name> and that is part of profile , you can add it based on this template:
# Copyright (C) 2018  iCub Facility, Istituto Italiano di Tecnologia
# CopyPolicy: Released under the terms of the LGPLv2.1 or later, see LGPL.TXT

include(YCMEPHelper)
include(FindOrBuildPackage)

find_or_build_package(<pkgA> QUIET)
find_or_build_package(<pkgB> QUIET)
find_or_build_package(<pkgC> QUIET)

ycm_ep_helper(<package> TYPE GIT
              STYLE GITHUB
              REPOSITORY robotology/<package-repo-name>.git
              TAG master
              COMPONENT <profile>
              FOLDER robotology
              DEPENDS <pkgA>
                      <pkgB>
                      <pkgC>)

How to add a new profile

if(ROBOTOLOGY_ENABLE_<profile>)
  find_or_build_package(<pkg1_profile>)
  find_or_build_package(<pkg2_profile>)
endif()

How to do a new release

  • Sometime before the release, add a yyyy.mm.yaml file in https://github.com/robotology/robotology-superbuild/tree/master/releases, containing the version of package contained in the new release.
  • Modify the CI scripts to start testing the yyyy.mm.yaml
  • Once the release is ready to be made, create a releases/yyyy.mm branch from master
  • On the branch releases/yyyy.mm modify the default value of the ROBOTOLOGY_PROJECT_TAGS CMake option to be Custom and of the ROBOTOLOGY_PROJECT_TAGS_CUSTOM_FILE to the point to the yyyy.mm.yaml file.
  • Create a new tag and release vyyyy.mm on the releases/yyyy.mm branch