The simple question: “Why?”
While working on Cura plugins, I thought and worked on a solution to make developing and building plugins as easy as possible. The aim was from the beginning to find a hassle-free solution. So I began to take cura-build-environment and expanded it with many dependencies, which are normally not built and need to be installed before. The result was a full prefix with all dependencies preinstalled.
Normally cura-build-environment needs additional dependencies to be installed and reuses them. Therefore the quality of cura-build-environment‘s resulting prefix depends on the system, where it was built before. In addition to that, the prefix is not portable (unless everything has been built statically). That is the reason, why I decided to add or at least most of the dependencies to the prefix, so the resulting prefix can be archived and compressed into a package and thus be distributed.
When thinking of the plugin development, the prefix can then include all the applications, which were used to build Cura. To ensure representative software tests, the same base of applications can be used to build the plugins.
On the other hand, when having the full prefix, it is also easy to run Cura from source, add new recipes for new Python modules and develop plugins. For this reason, I expanded the prefix in a different flavor with Bash, CMake, Git and other tools. This makes programming for Cura as easy and fast as rapid-prototyping itself!
Everything that is needed to is downloading the archive, unpacking it ad done!
What do I need?
- A mid-class computer (or network-attached-storages (NAS))
- Windows or Linux (or macOS)
- A C/C++ compiler, CMake and git installed.
What do I get?
- Caches all sources, which need to be downloaded before building
- Allows overriding all download URLs with a local cache, so changed URLs won’t break builds.
- Comes with all dependencies needed to run Cura
- Provides possibility to compile different flavours (minimal, development, proposed)
- By default, all CPU cores are used to built the software as often as possible.
What is on your to-do list?
- Adding scripts to fetch Cura from GitHub and run it directly.
- Prove of concept, that Cura packages, like NSIS installer (Windows) and AppImage (Linux) can be built with this software solution like Ultimaker does with cura-build and cura-build-environment.
There is nothing released so far, but you can take a look at the project page:
If you like you can download the sources, try to build something and/or join contributing. Feel free to contact me!