Files
shstk/README.md

79 lines
3.1 KiB
Markdown

# 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 cloud IODevices
* PIP::Lua - PIP Lua bindings
* QAD - Qt for Advanced Developers:
* QAD::Utils
* QAD::Widgets - collection of extendent widgets
* QAD::Application
* QAD::Blockview
* QAD::Graphic - widget for realtime visualization and publication quality 1D/2D plots
* QAD::SQLTable - widget for display and edit data based on SQL tables with relations
* QAD::TouchWidgets - collection of widgets for touch screen interface
* QAD::Doc - markdown helper for qt
* 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 '5' 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, e.q. so you can exec `docker build -t windows-shstk docker\windows-shstk`
and make docker image "windows-shstk" with installed SHS SDK for Windows. Similar for other platforms.
Dockerfile provide for platforms:
* Debian 10 (debian-shstk)
* Windows x64 (windows-shstk)
* MacOS (osx-shstk)
* Raspberry Pi raspbean (pi-shstk)
* Android ndk 21 armeabi-v71, arm64-v8a, x86, x86_64 (android-shstk)