Open GPMueller opened 5 years ago
This could be implemented with GH actions once the feature-imgui
branch has been merged.
Note that the MIT and other licenses of the thirdparty libraries would still need to be added to these releases. This could be done by having CMake create headers containing the licenses as strings and adding a license viewing window to the GUI. Otherwise, they would have to be bundled into the corresponding zip files.
What should be contained in each release bundle (zip) for the platforms? Options include:
First steps implemented with 474fa90ffd2a29cefcd9479f763c83821782dc7c and 6d4286daba211ba0cc50d942d022b90e79b9ad43 on branch feature-imgui
.
Ideally the CIs should add binary artifacts to the GitHub releases automatically. I believe there is a way of doing this, but testing is of course extremely limited.
Core library
The
.so
,.dylib
and.dll
could be easily added to each GitHub release, enabling anyone who does not want to build the code to still use e.g. the Python bindings outside of the pip package -- although, why would anyone want to do this?Qt GUI
This would be most useful, in order for people to get the application running without any effort. For Windows, a zip with the executable and dll's would do fine and for OSX, a .App would be best. I don't know if a zip could work for Linux - maybe one can edit the rpath of the executable to make it look in its own directory before system directories?
qt-charts is under GPL-v3, meaning that distribution of binaries underlies some constraints. According to this SO post, there might not even be the need to license the GUI code under GPL I am not sure how the requirement of "make original sources available" should be met and if it actually needs to be met since it is publicly available. Maybe forking the Qt repos to the spirit-code group, with a note about this in the GUI license would be fine?
Use Nanogui instead?
The more permissive license and significantly easier setup process (one would not have to install Qt to build the Spirit GUI anymore) would be big benefits. We could immediately release binaries without license issues. The downside would be the need to rewrite all functionality of the current GUI.