(build): fix package generation
Description
This brings back the package generation with CPack. Both Linux and Windows are functional. Sight can be packaged as a whole (similar to the former "SDK mode") in tar.zst
(Linux) or in .zip
(Windows). Any application or executable target can be packaged in tar.zst
(Linux) or in .exe
installer (Windows).
The CI has been updated to always build the Sight and SightViewer packages on both platforms. However, the deployment on Owncloud is only done on dev and master branch, or on any branch manually.
On the dev branch, the package version number is replaced by -latest
, so that it corresponds to a "latest" build. This prevents us from having to clean our archive folder too frequently since the packages will be erased at each upload.
Closes #707 (closed) #514 (closed)
How to test it?
You can download and install the packages from Owncloud.
If you want to build the packages yourself, you can run:
ninja && ninja package
To build Sight package. Be sure to build all targets first, because the install
target no longer builds everything (that was necessary to disable this to have per-applications package targets).
To build an application, for instance, SightViewer, you can run:
ninja SightViewer_package
This target will also trigger the build, on the contrary of the global target. Be sure to clear your install directory every time you run this, otherwise the fixup bundle may fail.
Additionnal tests
It is also possible to create packages with child repositories. See those repositories if you want to test it.