Skip to content

Evaluate setting and/or documenting the use of CMAKE_INSTALL_MODE env variable #1864

@traversaro

Description

@traversaro

Since CMake 3.22 CMake provides the CMAKE_INSTALL_MODE. This option has been implemented explicitly to replace install with symlink in superbuild/virtualmonorepo workflows, with the advantages discussed in https://gitlab.kitware.com/cmake/cmake/-/issues/21612 and https://gitlab.kitware.com/cmake/cmake/-/merge_requests/6396 .

The main advantages are:

  • Reduce the disk space use (as it is not duplicate between build and install)
  • Reduce the time spent in copying the files (for this also INSTALL_PARALLEL could help, but that's another story)
  • Automatically propagate changes in install files to the source directory (for example, edit an header in vscode opened from a "find reference", and it is reflected in source. This could be also useful for robots-configuration, even if it is a double edged sword, as sometimes the install is us

Clearly we cannot enable it unconditionally, as the "normal" install is needed when the users uses the superbuild and then wants to use just the install and deleting the build (for example in a docker), but for many use cases I think it could be convenient.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions