-
Notifications
You must be signed in to change notification settings - Fork 0
Description
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:
.tarfor generic linux distros.debfor Debian and Ubuntu.rpmfor Redhat and its various spinoff distros.zipfor Windows.msior.exefor 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:
- How much of these actions can be pushed into the CI/CD workflow?
- How should we go about covering various target architectures?
- How much testing is realistically needed to test these packages across these architectures?