

On RedHat-based systems, RPM is usually the package format of choice (use the RPM generator), whereas for Debian-based systems the DEB format is preferred (use the DEB generator).
Cmake linux native package generator#
Until recent years, the PackageMaker generator was the go-to generator for that, but it has been superseded by the ProductBuild generator (supported by CMake since version 3.7). Avoid the Bundle generator, it is older and more limited in what it supports, the DMG generator should be preferred instead.įor packages containing more than a single bundle, the DMG generator is still potentially suitable, but a proper installer may be more appropriate. Users are well acquainted with these and they are easy to use. If you just want to provide a single app bundle, the DMG package generator (also sometimes referred to as the DragNDrop generator) is probably what you want. There are a number of options to choose from for Mac, but which one is most appropriate depends on what you want to package up. It also supports component-based installs and seems to be becoming the preferred format over NSIS. Support for this is newer and seems to be more active in terms of feature development, etc.

CMake's support for this package generator is fairly mature, but it is perhaps becoming a less preferred method in recent times. These support component-based installs, so you could provide the source as an optional component. The NSIS package generator produces executable installers which average users are well accustomed to using.via the CPack module, possibly with package components using the CPackComponent module as well). I'm assuming you are using CPack via CMake (i.e. Which one is best for you will depend on a variety of factors, but the following should at least help choose among the more popular formats that CMake/CPack has direct support for. There are multiple common practices on each of the different platforms.
