Skip to content

Add Install and cpack Targets #27

Open
Open
@johnpatek

Description

@johnpatek

Given our current codebase, the simplest way to produce installable packages would be to modify the CMakeLists.txt to include install() directives, which can then be picked up in a cpack configuration used to generate packages for various package managers. I would like to have the following package types:

  • .tar for generic linux distros
  • .deb for Debian and Ubuntu
  • .rpm for Redhat and its various spinoff distros
  • .zip for Windows
  • .msi or .exe for less patient Windows developers
  • Nuget package for GitHub packages

I would describe the .msi/.exe targets as more aspirational, I do not know what exactly goes into generating such packages, but I imagine there is a nontrivial amount of overhead to such package generators in terms of metadata and third party software. For .deb and .rpm targets, although these package generators require some additional software and configuration, this is somewhat less daunting given their respective open source communities and the fact that our packages will not need to wrangle any dependencies.

The biggest questions will be:

  1. How much of these actions can be pushed into the CI/CD workflow?
  2. How should we go about covering various target architectures?
  3. How much testing is realistically needed to test these packages across these architectures?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions