Skip to content
This repository has been archived by the owner on Aug 5, 2022. It is now read-only.

packaging: define installation components #367

Merged
merged 3 commits into from
May 10, 2016

Commits on May 4, 2016

  1. CMake: homogenize how install-time interfaces are propagated

    There are two ways of propagating the post-install include requirements: either
    by adding an 'INCLUDES DESTINATION' argument to the 'install' directive or by
    adding an 'INTERFACE' argument to the 'target_include_directories' and using a
    generator expression to make it active at install-time only. This patch prefers
    changes for the latter since it is consistent with how build-time requirements
    are propagated.
    
    Signed-off-by: David Wagner <[email protected]>
    dawagner committed May 4, 2016
    Configuration menu
    Copy the full SHA
    a1d0b0a View commit details
    Browse the repository at this point in the history
  2. CMake: Add missing destination for cparameter.lib on windows

    Signed-off-by: David Wagner <[email protected]>
    dawagner committed May 4, 2016
    Configuration menu
    Copy the full SHA
    529a730 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2016

  1. CMake: define installation components

    'install' commands can receive 'COMPONENT' arguments (one per target file
    kind). Upon request, CMake can install only the files associated to a given
    component. This will be used to generate separate archives/pacakges/installers
    with CPack.
    
    The following components are declared:
    - runtime (libparameter and libremote-processor);
    - dev (everything necessary to develop a plugin or a client: headers, cmake
           package files, ...);
    - c (the C bindings, i.e. libcparameter);
    - cdev (everything necessary to develop a client using the C bindings);
    - python (the Python bindings);
    - eng (the various tools, XML schemas, ...);
    - runtime-deps (on windows only: the msvc redistributable files).
    
    Unfortunately, per-component debian package generation and automatic dependency
    discovery (using shlibdeps) do not work together before CMake 3.4. Also,
    per-component debian package dependency declaration has been added in CMake
    3.4, so it is not possible yet to declare, for instance, that the 'dev' package
    depends on the 'runtime' package.
    
    However, the following works and generates one archive for each component:
    
        cpack -G TGZ -D CPACK_ARCHIVE_COMPONENT_INSTALL=ON
    
    Signed-off-by: David Wagner <[email protected]>
    dawagner committed May 10, 2016
    Configuration menu
    Copy the full SHA
    bf2c083 View commit details
    Browse the repository at this point in the history