From 168673450aa8eae763cccba48eb3745e5b97d519 Mon Sep 17 00:00:00 2001 From: Ivan Pelipenko Date: Thu, 8 Oct 2020 17:32:58 +0300 Subject: [PATCH] README.md --- README.md | 55 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index b2aac0e..55a644d 100644 --- a/README.md +++ b/README.md @@ -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 - + +qglview - old Qt-base OpenGL engine, has no imported target, so you should link with "qglview4" or "qglview5" + ## 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. +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,30 +66,31 @@ 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 ## Non-Windows scripts -Script "make_shstk.sh" compile and install SDK for current environment, e.g. +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. +This repo provide several Dockerfiles, e.q. 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 provide for platforms: * Debian 10 (debian-shstk) +* Ubuntu 20.04 (ubuntu-shstk) * Windows x64 (windows-shstk) * MacOS (osx-shstk) * Raspberry Pi raspbean (pi-shstk)