2025-09-18 20:20:12 +03:00
pip
2021-09-01 17:49:13 +03:00
2025-04-29 21:51:36 +03:00
2025-07-17 16:17:02 +03:00
2024-12-03 13:32:24 +03:00
pip
2025-09-18 20:20:12 +03:00
2025-07-17 11:18:30 +03:00
2025-04-29 21:51:36 +03:00
2023-05-04 14:14:50 +03:00
pip
2023-07-02 14:03:53 +03:00
2023-10-08 10:39:18 +03:00
2020-08-25 23:05:43 +03:00
2025-04-29 21:51:36 +03:00
2024-12-25 13:00:41 +03:00
2020-08-25 23:05:43 +03:00
2020-08-25 23:05:43 +03:00
2020-09-07 21:59:53 +03:00
2020-09-07 21:59:53 +03:00
2020-09-07 21:59:53 +03:00
2020-09-07 21:59:53 +03:00
2020-09-07 21:59:53 +03:00
2022-03-15 16:58:23 +03:00
2022-03-15 17:39:12 +03:00
2024-10-23 19:12:19 +03:00
2020-09-14 17:29:50 +03:00
2021-06-11 20:39:40 +03:00

Main SHS Toolkit repo

Introduction

SHS Toolkit is metaproject, that contains references to CMake, PIP, QAD, CD and QGLEngine.

  • CMake - many CMake helpers and wrappers
  • PIP - Platform-Independent Primitives, C++ libraries to solve many common tasks
  • QAD - Qt for Advanced Developers, many Qt-based widgets and helpers. Also provide Qt-Designer plugins.
  • CD - Control/Debug toolkit, PIP-based client-server library to simplify using coefficients and track some variables tasks. Also provide QAD-based pult.
  • QGLEngine - modern Qt/OpenGL-based 3D engine with PBR materials. Also provide GUI widgets to edit scene and "libassimp"-based files importer.

Each project provide Find*.cmake file with correct dependecies. So, if you call find_package(CD) then PIP and QAD will be found.

Each of there projects can be built separately, but this project help you to build all at once.

After successfully install, you can use next CMake imported targets:

  • 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::ClientServer - TCP Client-Server
    • PIP::Lua - PIP Lua bindings
  • QAD:
    • 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::SQL - wrapper around QtSqlQuery for code amount reduce
    • 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::Map - OpenStreetMap map viewer and set of items
    • QAD::PIQt - helpers to convert PIP <-> Qt types
    • QAD::PIQtUtils - Gui libraries and executables to edit PIConnection configs and watch PIIntrospection
  • QGLEngine:
    • 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

qglview - old Qt-base OpenGL engine, has no imported target, so you should link with "qglview4" or "qglview5"

Compile

This repo can be compiled with GCC/MinGW/Clang, for Qt 4/5.

If there is no Qt found, builds only PIP and CD.

CMake options:

  • LOCAL - if 0 then install to system directories: MinGW on Windows, /usr/local on Linux/MacOS, ANDROID_SYSTEM_LIBRARY_PATH on Android. If 1 then install to CMAKE_INSTALL_PREFIX. Disabled 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\8_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 path to cmake directory 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 previous steps, but on '5' state run make_shstk_all.bat

Non-Windows scripts

Script "make_shstk.sh" compile and install toolkit for current environment, e.g. ./make_shstk.sh -j4

Docker

This repo provide several Dockerfiles, so you can exec docker build -t windows-shstk docker\windows-shstk and make docker image "windows-shstk" with installed SHS Toolkit for Windows. Similar for other platforms. Dockerfile provides for next platforms:

  • Debian 10 (debian-shstk)
  • Debian 11 (debian11-shstk)
  • Ubuntu 20.04 (ubuntu-shstk)
  • Windows x32 (windows32-shstk)
  • Windows x64 (windows-shstk)
  • MacOS (osx-shstk)
  • Raspberry Pi Raspbian (pi-shstk)
  • Android ndk 21 armeabi-v71, arm64-v8a, x86, x86_64 (android-shstk)
Description
SHS Toolkit
Readme 542 KiB
Languages
Dockerfile 76.6%
CMake 14.2%
Batchfile 7.6%
Shell 1.6%