# Main SHS Toolkit repo ## Introduction This repo contains: * PIP * * PIP - main library * * PIP::USB - PIUSB (libusb) * * PIP::Console - PIScreen * * PIP::Crypt - Cryptography (libsodium) * * PIP::Compress - Compression (zlib) * * PIP::FFTW - FFT with libfftw3 * * PIP::OpenCL - PIP OpenCL bindings * * PIP::IOUtils * * PIP::Cloud * * PIP::Lua - PIP Lua bindings * QAD - Qt for Advanced Developers: * * QAD::Utils * * QAD::Widgets * * QAD::Application * * QAD::Blockview * * QAD::Graphic * * QAD::SQLTable * * QAD::TouchWidgets * * QAD::Doc * * QAD::PIQt - helpers to convert PIP <-> Qt types * * QAD::PIQtUtils - Gui libraries and executables to edit PIConnection configs and watch PIIntrospection * * qglview - old Qt-base OpenGL engine * qglengine - new Qt-base OpenGL engine * * QGLEngine::Core - 3d engine * * QGLEngine::Widgets - qt widgets for manage 3d obects and materials * CD * * CD::Core - PIP-based client/server library for read, transmit and use custom structures of coefficients * * CD::Qt - Qt bindings to CDUtils and "CD Pult" executable - full-featured CD client ## Compile This repo can be compile with GCC/MinGW/Clang, for Qt 4/5. If there is no Qt found, builds only PIP and cd_utils. CMake options: * **LIB** - if 1 then install to system directories: MinGW on Windows, /usr/local on Linux/MacOS, ${ANDROID_SYSTEM_LIBRARY_PATH} on Android. If 0 then install to ${CMAKE_INSTALL_PREFIX}. Enabled by default * **UTILS** - build or not executable utilites, enabled by default * **DESIGNER_PLUGINS** - build or not Qt Designer plugins, enabled by default * **QGLVIEW** - build or not QGLView, disabled by default * **QGLENGINE** - build or not QGLEngine, disabled by default ## Windows scripts Build steps: 1. unzip mingw.7z to C:\mingw 2. unzip qt.7z to C:\qt 3. download and install cmake from https://cmake.org/download/ 4. Prepare environment for x86 or amd64 architecture: - set prefix for mingw e.g.: for C:\mingw\8_1_x32\ or C:\mingw\8_1_x64\ set SDK_MINGW_DIR=C:\mingw\7_1_x - set prefix for Qt5 e.g.: for C:\qt\qt5150_win32\ or C:\qt\qt5150_win64\ set SDK_QT5_DIR=C:\qt\qt5150_win - set SDK_CMAKE_DIR=C:\cmake or C:\Program Files\CMake 5. run make_shstk32.bat or make_shstk64.bat Build steps for both architectures: -- follow previos steps, but on '4' state run make_libs_all.bat ## Non-Windows scripts Script "make_shstk.sh" compile and install SDK for current environment, e.g. `./make_shstk.sh -j4` ## Docker This repo provide Dockerfile, so you can exec `docker build -t libs .` in this directory and make docker image "libs" with installed SHS SDK for: * Debian 10 * Windows x64 * MacOS * Android ndk 21 armeabi-v71, arm64-v8a, x86, x86_64