A PID wrapper provides a set of useful commands to manage its lifecycle. All these commands must be called from the build folder of the wrapper.

Before being able to use this command, they must be “built” from CMake configuration script defined in the root CMakeLists.txt of the package:

> cd <workspace dir>/wrappers/<wrapper name>/build
> cmake .. #building commands

Once this last command has been executed, developers can use native build tool to execute wrapper specific commands that are defined by PID system. We suppose here we use the make tool but any other tool can be used the same way.

The commands are simply called using built tool specific targets, that are listed below.

Commands summary

  • make build: building the wrapper for a given version.
  • make uninstall: Uninstalling the wrapper installed binary folder for a given version.
  • make referencing: Referencing the wrapper in the workspace.
  • make site: Generating the static website supporting the documentation of the wrapper.

Building and deploying

  • Call: make build
  • Effect: runs the deploy script for a given version of the external package wrapper. If everything works well the result is a binary version of the external package deployed in the workspace.
  • Arguments:

    • version: indicates which version of the external package has to be built.
    • {optional} skip_script: if true (default to false) then do no execute deployment script, simply regenerate the PID cmake configuration file for the target version.
    • {optional} archive: if true (default to false) then the build process generates a binary archive for this version in build folder. This is mainly used for CI, only eprerienced user should use this option.
    • {optional} mode: either Release (default) or Debug depending on what kind of binaries the user expects.

Uninstalling a version

  • Call: make uninstall
  • Effect: uninstall the wrapper target version from install tree. The build tree will not be cleaned by this command.
  • Arguments:

    • version: indicates which version of the external package has to be uninstalled.

Referencing the wrapper in the workspace

  • Call: make referencing
  • Effect: generates the reference file for the wrapper and places it in the adequate folder of the workspace. When done, the wrapper is known in the local workspace and will be known by all users when workspace official repository will be updated accordingly.
  • Arguments: none

Generating documentation website

  • Call: make site
  • Effect: generates and updates the website project that support the online documentation of the wrapper. This can be either a lone website or a framework depending on how the website has been defined in the wrapper.
  • Arguments:

    • {optional} synchro (default to true): if true the commands will automatically push modifications performed in the static site repository.
    • {optional, advanced} force (default to false): if true the commands will force the check process for all modifications. This is used to preserve time of the process and size of the static site git repository. Should not be used by end users except in really rare cases.