Swiftray is a free and open-sourced software for grbl-based laser cutters and engravers.
Features
- Layer controls - cut and engrave simultaneously
- Divide by color - efficient workflows for third party design software
- Hack as you like - you can modify all codes to match you self-built lasers
- Blazing performance - written in C++
- Low memory usage - even runnable on embedded system
- Cross-platform - compiles on Windows and MacOS
- Compilers must support C++17 standards.
- Qt Framework 6.7.2
- Qt Framework and Creator can be installed via online installer
- OpenCV 4
- Boost 1.8
- Potrace
- libxml2
- libiconv (Windows)
- icu4c (MacOS)
- poppler
- glib
- cairo
git clone https://github.com/flux3dp/swiftray.git
cd swiftray
git submodule update --init --recursive
cd third_party/sentry-native
cmake -B build -S . \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DSENTRY_BACKEND=crashpad \
-DSENTRY_INTEGRATION_QT=YES \
-DCMAKE_PREFIX_PATH=<PATH_TO_QT>/lib/cmake
cmake --build build --config RelWithDebInfo --parallel
cmake --install build --prefix install
# The process can be skipped since the sentry-native can be installed via vcpkg
libpotrace must be compiled in msys or cygwin environment.
Take msys2 for example, install the following packages:
pacman -S base-devel
pacman -S mingw-w64-x86_64-gcc
pacman -S mingw-w64-x86_64-autotools
pacman -S mingw-w64-x86_64-make
pacman -S mingw-w64-x86_64-zlib
pacman -S mingw-w64-x86_64-python-conan
then
$ cd third_party/libpotrace
$ curl https://potrace.sourceforge.net/download/1.16/potrace-1.16.tar.gz -o potrace-1.16.tar.gz
$ tar -xzvf potrace-1.16.tar.gz
$ conan install . --build=missing
$ conan build .
$ conan create . user/testing
$ mkdir build
$ cd build
$ cmake ..
$ make -j12
- Install the latest Visual Studio (tested in 2019) with vcpkg
- For local development, set env QML2_IMPORT_PATH to
/path/to/qml/dlls
if debug mode cannot load qml plugins
Use the following command to make a distributable app bundle.
cmake --build . --target swiftray_app_bundle -j8
Windeployqt is a tool that will gather all the required deployment files for your application. It will copy the necessary Qt libraries, plugins, and QML files to the directory where the application is located. It is necessary to run after compiling the application to properly run the application.
$ <Qt_Installed_Dir>/6.7.2/msvc2019_64/bin/windeployqt.exe --qmldir src/windows/qml --compiler-runtime build/bin/Swiftray.exe
- Use Modern C++ as possible as you can.
- Reduce logic implementation in widgets and QML codes, to maintain low coupling with Qt Framework.
Run $ doxygen Doxygen
and view docs/index.html
Swiftray is community developed, commercially supported for long-term development.
Swiftray is original brought to you by the development team at FLUX Inc.
Swiftray is GNU General Public License v3.0 licensed.