# Main SHS SDK libraries repo ## Introduction This repo contains PIP, QAD and derived projects: * cd_utils - PIP-based client/server library for read, transmit and use custom structures of coefficients * qcd_utils - Qt bindings to CDUtils and "CD Pult" executable - full-featured CD client * piqt - helpers to convert PIP <-> Qt types * piqt_utils - Gui libraries and executables to edit PIConnection configs and watch PIIntrospection * qglview - old Qt-base OpenGL engine * qglengine - new Qt-base OpenGL engine ## 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 for i686 architecture: 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 - set prefix for mingw e.g.: for C:\mingw\7_1_x32\ set SDK_MINGW_DIR=C:\mingw\7_1_x - set prefix for Qt5 e.g.: for C:\qt\qt5120_win32\ set SDK_QT5_DIR=C:\qt\qt5120_win - set SDK_CMAKE_DIR=C:\cmake 5. run make_libs32.bat Build steps for amd64 architecture: -- follow previos steps, but replace '32' to '64' Build steps for both architectures: -- follow previos steps, but on '4' state run make_libs_all.bat ## Non-Windows scripts Script "make_libs.sh" compile and install SDK for current environment, e.g. `./make_libs.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