pip #38

Merged
andrey merged 8 commits from master into release 2020-10-14 14:24:35 +03:00
4 changed files with 45 additions and 29 deletions

View File

@@ -2,9 +2,25 @@
## Introduction
This repo contains:
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.
* PIP
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
@@ -15,7 +31,7 @@ This repo contains:
* PIP::IOUtils
* PIP::Cloud - PIP cloud IODevices
* PIP::Lua - PIP Lua bindings
* QAD - Qt for Advanced Developers:
* QAD:
* QAD::Utils
* QAD::Widgets - collection of extendent widgets
* QAD::Application
@@ -26,21 +42,23 @@ This repo contains:
* 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:
* QGLEngine::Core - 3d engine
* QGLEngine::Widgets - qt widgets for manage 3d obects and materials
* CD
* 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.
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:
* **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
* **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
@@ -48,31 +66,29 @@ CMake options:
## 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/
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 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 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
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
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 SDK for current environment, e.g.
`./make_shstk.sh -j4`
Script "make_shstk.sh" compile and install toolkit 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:
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)
* Ubuntu 20.04 (ubuntu-shstk)
* Windows x64 (windows-shstk)
* MacOS (osx-shstk)
* Raspberry Pi raspbean (pi-shstk)
* Raspberry Pi Raspbian (pi-shstk)
* Android ndk 21 armeabi-v71, arm64-v8a, x86, x86_64 (android-shstk)

2
cd

Submodule cd updated: d50223f1cf...949edb1f68

2
pip

Submodule pip updated: ff3dfab270...51775a5ee6

2
qad

Submodule qad updated: 3245d71bc8...59711afa14