Merge pull request 'master' (#11) from master into release
Some checks failed
SHS Gitea/shstk/pipeline/head There was a failure building this commit

Reviewed-on: https://git.shs.tools/SHS/shstk/pulls/11
This commit was merged in pull request #11.
This commit is contained in:
2020-09-07 22:39:27 +03:00
14 changed files with 67 additions and 32 deletions

View File

@@ -1,4 +1,4 @@
cmake_minimum_required(VERSION 3.0)
cmake_minimum_required(VERSION 3.15)
cmake_policy(SET CMP0011 NEW) # don`t affect includer policies
cmake_policy(SET CMP0017 NEW) # need include() with .cmake
cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain target on Windows

View File

@@ -2,14 +2,37 @@
## Introduction
This repo contains PIP, QAD and derived projects:
* cd_utils - PIP-based client/server library for read, transmit and use custom structures of coefficients
* qcd_utils - Qt bindings to CDUtils and "CD Pult" executable - full-featured CD client
* piqt - helpers to convert PIP <-> Qt types
* piqt_utils - Gui libraries and executables to edit PIConnection configs and watch PIIntrospection
* qglview - old Qt-base OpenGL engine
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.
@@ -23,27 +46,25 @@ CMake options:
* **QGLENGINE** - build or not QGLEngine, disabled by default
## Windows scripts
Build steps for i686 architecture:
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
- set prefix for mingw e.g.: for C:\mingw\7_1_x32\
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\qt5120_win32\
set SDK_QT5_DIR=C:\qt\qt5120_win
- set SDK_CMAKE_DIR=C:\cmake
5. run make_libs32.bat
- 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 amd64 architecture:
-- follow previos steps, but replace '32' to '64'
Build steps for both architectures:
-- follow previos steps, but on '4' state run make_libs_all.bat
## Non-Windows scripts
Script "make_libs.sh" compile and install SDK for current environment, e.g.
`./make_libs.sh -j4`
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

2
cmake

Submodule cmake updated: d1a11269f7...2f84d98a32

View File

@@ -1,6 +0,0 @@
@echo off
set ARCH=%~1
set PATH=%SDK_MINGW_DIR%%ARCH%\bin;%SDK_QT4_DIR%%ARCH%\bin;%SDK_CMAKE_DIR%\bin
if defined SDK_QT5_DIR set Qt5_DIR=%SDK_QT5_DIR%%ARCH%
mkdir ..\shstk_build_win%ARCH%
cd ../shstk_build_win%ARCH% && cmake_mgw -Wno-dev -DQGLVIEW=1 -DQGLENGINE=1 -DQT4=0 ../shstk && make install -j4 && cd ../shstk && pause

View File

@@ -1 +0,0 @@
make_libs.bat 32

View File

@@ -1 +0,0 @@
make_libs.bat 64

View File

@@ -1,2 +0,0 @@
start cmd /C make_libs32.bat
start cmd /C make_libs64.bat

15
make_shstk.bat Normal file
View File

@@ -0,0 +1,15 @@
@echo off
set ARCH=%~1
if defined SDK_JOBS_COUNT (
set JOBS_COUNT=%SDK_JOBS_COUNT%
) else (
set JOBS_COUNT=4
)
set PATH=%SDK_MINGW_DIR%%ARCH%\bin;%SDK_QT4_DIR%%ARCH%\bin;%SDK_CMAKE_DIR%\bin
if defined SDK_QT5_DIR set Qt5_DIR=%SDK_QT5_DIR%%ARCH%
if not exist ..\shstk_build_win%ARCH% mkdir ..\shstk_build_win%ARCH%
cd ..\shstk_build_win%ARCH% && ^
cmake_mgw -DQGLVIEW=1 -DQGLENGINE=1 -DQT4=0 ../shstk && ^
make install -j%JOBS_COUNT% && ^
cd ..\shstk && ^
pause

1
make_shstk32.bat Normal file
View File

@@ -0,0 +1 @@
make_shstk.bat 32

1
make_shstk64.bat Normal file
View File

@@ -0,0 +1 @@
make_shstk.bat 64

2
make_shstk_all.bat Normal file
View File

@@ -0,0 +1,2 @@
start cmd /C make_shstk32.bat
start cmd /C make_shstk64.bat

View File

@@ -1,6 +1,11 @@
@echo off
if defined SDK_JOBS_COUNT (
set JOBS_COUNT=%SDK_JOBS_COUNT%
) else (
set JOBS_COUNT=4
)
mkdir ..\shstk_build_android_%~1
cd ..\shstk_build_android_%~1
call ..\shstk\cmake\cmake_android 21 %~1 ..\shstk "-DUTILS=0 -DCMAKE_BUILD_TYPE=Release"
call make install -j4
call make install -j%JOBS_COUNT%
cd ..\shstk

View File

@@ -1,4 +1,4 @@
@echo off
for %%a in (x86,x86_64,arm,arm64) do (
call .\make_libs_android %%a
call .\make_shstk_android %%a
)