All checks were successful
SHS Gitea/shstk/pipeline/head This commit looks good
77 lines
2.6 KiB
Markdown
77 lines
2.6 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::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
|