diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..ab89af9 --- /dev/null +++ b/.clang-format @@ -0,0 +1,224 @@ +--- +Language: Cpp +AccessModifierOffset: -4 +AlignAfterOpenBracket: Align +AlignArrayOfStructures: Left +AlignConsecutiveAssignments: + Enabled: true + AcrossEmptyLines: true + AcrossComments: true + AlignCompound: false + PadOperators: true +AlignConsecutiveBitFields: + Enabled: true + AcrossEmptyLines: false + AcrossComments: true + AlignCompound: false + PadOperators: true +AlignConsecutiveDeclarations: + Enabled: false + AcrossEmptyLines: false + AcrossComments: false + AlignCompound: false + PadOperators: false +AlignConsecutiveMacros: + Enabled: true + AcrossEmptyLines: true + AcrossComments: true + AlignCompound: false + PadOperators: true +AlignEscapedNewlines: Left +AlignOperands: Align +AlignTrailingComments: true +AllowAllArgumentsOnNextLine: false +AllowAllParametersOfDeclarationOnNextLine: false +AllowShortEnumsOnASingleLine: false +AllowShortBlocksOnASingleLine: Empty +AllowShortCaseLabelsOnASingleLine: true +AllowShortFunctionsOnASingleLine: Inline +AllowShortLambdasOnASingleLine: All +AllowShortIfStatementsOnASingleLine: WithoutElse +AllowShortLoopsOnASingleLine: false +AlwaysBreakAfterDefinitionReturnType: None +AlwaysBreakAfterReturnType: None +AlwaysBreakBeforeMultilineStrings: false +AlwaysBreakTemplateDeclarations: Yes +AttributeMacros: + - __capability +BinPackArguments: false +BinPackParameters: false +BraceWrapping: + AfterCaseLabel: false + AfterClass: false + AfterControlStatement: Never + AfterEnum: false + AfterFunction: false + AfterNamespace: false + AfterObjCDeclaration: false + AfterStruct: false + AfterUnion: false + AfterExternBlock: false + BeforeCatch: false + BeforeElse: false + BeforeLambdaBody: false + BeforeWhile: false + IndentBraces: false + SplitEmptyFunction: false + SplitEmptyRecord: false + SplitEmptyNamespace: true +BreakBeforeBinaryOperators: None +BreakBeforeConceptDeclarations: Always +BreakBeforeBraces: Attach +BreakInheritanceList: BeforeComma +BreakBeforeTernaryOperators: true +BreakConstructorInitializers: BeforeComma +BreakAfterJavaFieldAnnotations: false +BreakStringLiterals: true +ColumnLimit: 140 +CommentPragmas: '^ IWYU pragma:' +QualifierAlignment: Leave +CompactNamespaces: false +ConstructorInitializerIndentWidth: 4 +ContinuationIndentWidth: 4 +Cpp11BracedListStyle: true +DeriveLineEnding: false +DerivePointerAlignment: false +DisableFormat: false +EmptyLineAfterAccessModifier: Never +EmptyLineBeforeAccessModifier: Always +ExperimentalAutoDetectBinPacking: false +PackConstructorInitializers: CurrentLine +BasedOnStyle: '' +ConstructorInitializerAllOnOneLineOrOnePerLine: true +AllowAllConstructorInitializersOnNextLine: true +FixNamespaceComments: true +ForEachMacros: + - foreach + - Q_FOREACH + - BOOST_FOREACH + - piForeach + - piForeachC + - piForeachR + - piForeachRC + - piForeachCR +IfMacros: + - KJ_IF_MAYBE +IncludeBlocks: Regroup +IncludeCategories: + - Regex: '^"(llvm|llvm-c|clang|clang-c)/' + Priority: 2 + SortPriority: 0 + CaseSensitive: false + - Regex: '^(<|"(gtest|gmock|isl|json)/)' + Priority: 3 + SortPriority: 0 + CaseSensitive: false + - Regex: '.*' + Priority: 1 + SortPriority: 0 + CaseSensitive: false +IncludeIsMainRegex: '(Test)?$' +IncludeIsMainSourceRegex: '' +IndentAccessModifiers: false +IndentCaseLabels: false +IndentCaseBlocks: false +IndentGotoLabels: false +IndentPPDirectives: AfterHash +IndentExternBlock: NoIndent +IndentRequiresClause: true +IndentWidth: 4 +IndentWrappedFunctionNames: false +InsertBraces: false +InsertTrailingCommas: Wrapped +JavaScriptQuotes: Leave +JavaScriptWrapImports: true +KeepEmptyLinesAtTheStartOfBlocks: false +LambdaBodyIndentation: Signature +MacroBlockBegin: "PRIVATE_DEFINITION_START|STATIC_INITIALIZER_BEGIN" +MacroBlockEnd: "PRIVATE_DEFINITION_END|STATIC_INITIALIZER_END" +MaxEmptyLinesToKeep: 2 +NamespaceIndentation: None +ObjCBinPackProtocolList: Auto +ObjCBlockIndentWidth: 2 +ObjCBreakBeforeNestedBlockParam: true +ObjCSpaceAfterProperty: false +ObjCSpaceBeforeProtocolList: true +PenaltyBreakAssignment: 2 +PenaltyBreakBeforeFirstCallParameter: 19 +PenaltyBreakComment: 300 +PenaltyBreakFirstLessLess: 120 +PenaltyBreakOpenParenthesis: 0 +PenaltyBreakString: 1000 +PenaltyBreakTemplateDeclaration: 10 +PenaltyExcessCharacter: 1000000 +PenaltyReturnTypeOnItsOwnLine: 60 +PenaltyIndentedWhitespace: 0 +PointerAlignment: Middle +PPIndentWidth: 2 +ReferenceAlignment: Middle +ReflowComments: true +RemoveBracesLLVM: false +RequiresClausePosition: OwnLine +SeparateDefinitionBlocks: Leave +ShortNamespaceLines: 1 +SortIncludes: CaseSensitive +SortJavaStaticImport: Before +SortUsingDeclarations: true +SpaceAfterCStyleCast: false +SpaceAfterLogicalNot: false +SpaceAfterTemplateKeyword: false +SpaceBeforeAssignmentOperators: true +SpaceBeforeCaseColon: false +SpaceBeforeCpp11BracedList: false +SpaceBeforeCtorInitializerColon: false +SpaceBeforeInheritanceColon: false +SpaceBeforeParens: ControlStatementsExceptControlMacros +SpaceBeforeParensOptions: + AfterControlStatements: true + AfterForeachMacros: false + AfterFunctionDefinitionName: false + AfterFunctionDeclarationName: false + AfterIfMacros: false + AfterOverloadedOperator: false + AfterRequiresInClause: false + AfterRequiresInExpression: false + BeforeNonEmptyParentheses: false +SpaceAroundPointerQualifiers: Both +SpaceBeforeRangeBasedForLoopColon: false +SpaceInEmptyBlock: false +SpaceInEmptyParentheses: false +SpacesBeforeTrailingComments: 1 +SpacesInAngles: Never +SpacesInConditionalStatement: false +SpacesInContainerLiterals: false +SpacesInCStyleCastParentheses: false +SpacesInLineCommentPrefix: + Minimum: 1 + Maximum: -1 +SpacesInParentheses: false +SpacesInSquareBrackets: false +SpaceBeforeSquareBrackets: false +BitFieldColonSpacing: After +Standard: c++11 +StatementAttributeLikeMacros: + - Q_EMIT + - PIMETA +StatementMacros: + - Q_UNUSED + - QT_REQUIRE_VERSION + - PRIVATE_DECLARATION + - NO_COPY_CLASS + - FOREVER_WAIT + - WAIT_FOREVER +TabWidth: 4 +UseCRLF: false +UseTab: AlignWithSpaces +WhitespaceSensitiveMacros: + - STRINGIZE + - PP_STRINGIZE + - BOOST_PP_STRINGIZE + - NS_SWIFT_NAME + - CF_SWIFT_NAME + - PIMETA +... + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3f43534 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,6 @@ +root = true + +[*.{h,c,cpp}] +charset = utf-8 +indent_style = tab +tab_width = 4 diff --git a/.gitignore b/.gitignore index 2b2ef11..48a9424 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ CMakeLists.txt.user* /release /build +/*_build_* diff --git a/.gitmodules b/.gitmodules index e7b4341..9921d0f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,20 +1,20 @@ [submodule "cmake"] path = cmake - url = https://git.shs.tools/SHS/cmake.git + url = ../cmake.git branch = master [submodule "qad"] path = qad - url = https://git.shs.tools/SHS/qad.git + url = ../qad.git branch = master [submodule "qglengine"] path = qglengine - url = https://git.shs.tools/SHS/qglengine.git + url = ../qglengine.git branch = master [submodule "pip"] path = pip - url = https://git.shs.tools/SHS/pip.git + url = ../pip.git branch = master [submodule "cd"] path = cd - url = https://git.shs.tools/SHS/cd.git + url = ../cd.git branch = master diff --git a/CMakeLists.txt b/CMakeLists.txt index 7a1b135..55facf5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,9 @@ cmake_policy(SET CMP0020 NEW) # Automatically link Qt executables to qtmain targ if (POLICY CMP0053) cmake_policy(SET CMP0053 NEW) # simpler variable expansion and escape sequence evaluation rules endif() +if (POLICY CMP0177) + cmake_policy(SET CMP0177 OLD) +endif() project(shstk) set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}" diff --git a/Jenkinsfile b/Jenkinsfile index 5547efe..6283dd0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -1,53 +1,79 @@ -def build_docker(name, release_dir) { - def image_name = "${name}-shstk" +@Library('SHS.Platforms') _ +def build_docker(dist, release_dir, is_testing, is_debug) { + def image_from = "${dist.docker.image_basename}" + def image_name = "${dist.docker.image_basename}-shstk" + if (is_testing) { + image_name += "-test" + } + if (is_debug) { + image_from += "-debug" + image_name += "-debug" + } + echo "Build image ${image_name}" - def pref = "" + def args = "" + for (arg in dist.docker.build_options) { + args += " --build-arg ${arg.key}=\"${arg.value}\"" + } if (env.DOCKER_PREFIX) { - pref = "--build-arg DOCKER_PREFIX=${env.DOCKER_PREFIX}/" + args += " --build-arg DOCKER_PREFIX=${env.DOCKER_PREFIX}/" } - def jobs = 4 - if (env.JOBS_COUNT) { - jobs = "${env.JOBS_COUNT}" - } - def args = "${pref} --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER} --build-arg JOBS_COUNT=${jobs}" - dir ("docker/${image_name}") { - sh "docker build ${args} --no-cache -t ${image_name} ." - def diargs = "-v " + release_dir + ":/soft/release" - docker.image(image_name).inside(diargs) { - sh 'cp -vf /soft/shstk/release/* /soft/release/ || true' + if (env.BRANCH_NAME) { + if ("${env.BRANCH_NAME}" != "shstk") { + args += " --build-arg BRANCH=${env.BRANCH_NAME}" } } + args += " --build-arg IMAGE_FROM=${image_from}" + args += " --build-arg LIBS_BUILD_NUMBER=${env.BUILD_NUMBER}" + args += " --build-arg JOBS_COUNT=${env.JOBS_COUNT}" + def shstk_docker = docker.build("${image_name}", "./docker/${dist.docker.directory}-shstk --no-cache ${args}") + shstk_docker.inside("-v " + release_dir + ":/soft/release") { + sh 'cp -vf /soft/shstk/release/* /soft/release/ || true' + } return "\n - ${image_name}" } -properties([[$class: 'BuildDiscarderProperty', strategy: [$class: 'LogRotator', artifactDaysToKeepStr: '', artifactNumToKeepStr: '10', daysToKeepStr: '', numToKeepStr: '20']], copyArtifactPermission('*')]); +properties([ + buildDiscarder(logRotator(numToKeepStr: "2000", artifactNumToKeepStr: "10")), + parameters([ + booleanParam(name: 'Debug', defaultValue: false, description: 'Build debug version') + ]), + copyArtifactPermission('*') +]); node { - stage("checkout") { + stage("Download SRC") { checkout scm } - def rel_dir = sh(script: "pwd", returnStdout: true).trim() + '/release' - echo "Release to ${rel_dir}" - def _envmap = [:] - def _env = sh(script: "env", returnStdout: true).trim().split("\n") - _env.each{ l -> - def _ind = l.indexOf('='); - def _n = l.substring(0, _ind); - def _v = l.substring(_ind + 1); - _envmap["${_n}"] = "${_v}"; + + def currentBranch = "${env.BRANCH_NAME}" + def is_testing = currentBranch.toLowerCase().contains("test") + def is_debug = Boolean.valueOf(Debug) + + def pl = new org.SHS.Platforms(this) + pl.get() + + def local_release_dir = 'release' + if (is_testing) { + local_release_dir += '-test' } - sh "mkdir -p ${rel_dir}" + + def rel_dir = sh(script: "pwd", returnStdout: true).trim() + '/' + local_release_dir + echo "Release to ${rel_dir}" sh "rm -rvf ${rel_dir}" sh "mkdir -p ${rel_dir}" + def _msg = "Built images:" - def platforms = ['debian', 'debian11', 'osx', 'windows', 'windows32', 'android', 'pi', 'ubuntu'] - for (int i = 0; i < platforms.size(); ++i) { - if (_envmap["BUILD_${platforms[i]}"] == "1") { - stage("${platforms[i]}-shstk") { - _msg += build_docker("${platforms[i]}", rel_dir) - } - } + pl.forEach ({ dist -> + _msg += build_docker(dist, rel_dir, is_testing, is_debug) + }, + stageSuffix: "-shstk", + ondemand: true + ) + + stage("Clean") { + sh "docker system prune -f" } - sh "docker system prune -f" - archiveArtifacts 'release/*' + + archiveArtifacts "${local_release_dir}/*" echo "${_msg}" } diff --git a/README.md b/README.md index cbe91b8..e645f7b 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ After successfully install, you can use next CMake imported targets: * 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 @@ -37,9 +38,11 @@ After successfully install, you can use next CMake imported targets: * 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 * @@ -58,7 +61,7 @@ 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 +* **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 @@ -71,11 +74,11 @@ Build steps: 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 `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 path to cmake directory - set SDK_CMAKE_DIR=C:\cmake or C:\Program Files\CMake + 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` diff --git a/cd b/cd index 7164a84..4d955bb 160000 --- a/cd +++ b/cd @@ -1 +1 @@ -Subproject commit 7164a8447c0a607bce3cdd03fce99bacca4cd74d +Subproject commit 4d955bb846de9e08dd3b8ea3adc1661855dead0a diff --git a/cmake b/cmake index fb28f9b..f74a389 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit fb28f9b1b24f34a79cf393359b7945e834a3c176 +Subproject commit f74a38900f65077f0ce554271deb36ce411b0706 diff --git a/docker/android-shstk/Dockerfile b/docker/android-shstk/Dockerfile index 6e93cfa..37045da 100644 --- a/docker/android-shstk/Dockerfile +++ b/docker/android-shstk/Dockerfile @@ -1,6 +1,8 @@ ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}android +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} +ARG BRANCH=release ARG LIBS_BUILD_NUMBER=9999 ARG JOBS_COUNT=4 ENV PATH=/opt/cmake/bin:$PATH @@ -10,7 +12,7 @@ ENV ANDROID_TOOLCHAIN=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake ENV NDK_PLATFORM="android-21" WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git WORKDIR /soft/shstk_build_host RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ @@ -22,22 +24,22 @@ WORKDIR /soft/shstk_build_anroid ENV _ANDROID_TOOLCHAIN=/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake ENV _CUR_ABI=armeabi-v7a -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf * ENV _CUR_ABI=arm64-v8a WORKDIR /soft/shstk_build_android_${_CUR_ABI} -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf * ENV _CUR_ABI=x86 WORKDIR /soft/shstk_build_android_${_CUR_ABI} -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf * ENV _CUR_ABI=x86_64 WORKDIR /soft/shstk_build_android_${_CUR_ABI} -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/android/${_CUR_ABI} -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=${_ANDROID_TOOLCHAIN} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${_CUR_ABI} ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} && rm -rf * RUN mkdir -p /soft/shstk/release diff --git a/docker/astra1.7-shstk/Dockerfile b/docker/astra1.7-shstk/Dockerfile new file mode 100644 index 0000000..e1f31a2 --- /dev/null +++ b/docker/astra1.7-shstk/Dockerfile @@ -0,0 +1,21 @@ +ARG DOCKER_PREFIX=wapmobil/ +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} + +ARG BRANCH=release +ARG LIBS_BUILD_NUMBER=9999 +ARG JOBS_COUNT=4 +ARG support_gl=1 +ENV PATH=/opt/cmake/bin:$PATH + +WORKDIR /soft +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git + +WORKDIR /soft/shstk_build_linux +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DICU=0 -DLOCAL=0 -DQGLENGINE=${support_gl} -DQGLVIEW=${support_gl} -DHAS_GL=${support_gl} -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ + && cmake --build ./ --target install -j${JOBS_COUNT} \ + && ldconfig \ + && cmake --build ./ --target deploy -j${JOBS_COUNT} \ + && rm -rf * + +WORKDIR /soft/src diff --git a/docker/astra1.8-shstk/Dockerfile b/docker/astra1.8-shstk/Dockerfile new file mode 100644 index 0000000..e1f31a2 --- /dev/null +++ b/docker/astra1.8-shstk/Dockerfile @@ -0,0 +1,21 @@ +ARG DOCKER_PREFIX=wapmobil/ +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} + +ARG BRANCH=release +ARG LIBS_BUILD_NUMBER=9999 +ARG JOBS_COUNT=4 +ARG support_gl=1 +ENV PATH=/opt/cmake/bin:$PATH + +WORKDIR /soft +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git + +WORKDIR /soft/shstk_build_linux +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DICU=0 -DLOCAL=0 -DQGLENGINE=${support_gl} -DQGLVIEW=${support_gl} -DHAS_GL=${support_gl} -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ + && cmake --build ./ --target install -j${JOBS_COUNT} \ + && ldconfig \ + && cmake --build ./ --target deploy -j${JOBS_COUNT} \ + && rm -rf * + +WORKDIR /soft/src diff --git a/docker/debian-shstk/Dockerfile b/docker/debian-shstk/Dockerfile deleted file mode 100644 index 67ce6be..0000000 --- a/docker/debian-shstk/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}debian - -ARG LIBS_BUILD_NUMBER=9999 -ARG JOBS_COUNT=4 -ENV PATH=/opt/cmake/bin:$PATH - -WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git - -WORKDIR /soft/shstk_build_debian -RUN cmake -G Ninja -DICU=0 -DLOCAL=0 -DQGLENGINE=1 -DQGLVIEW=1 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ - && cmake --build ./ --target install -j${JOBS_COUNT} \ - && cmake --build ./ --target deploy -j${JOBS_COUNT} \ - && rm -rf * \ - && ldconfig - -WORKDIR /soft/src diff --git a/docker/debian11-shstk/Dockerfile b/docker/debian11-shstk/Dockerfile deleted file mode 100644 index 5555e28..0000000 --- a/docker/debian11-shstk/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}debian11 - -ARG LIBS_BUILD_NUMBER=9999 -ARG JOBS_COUNT=4 -ENV PATH=/opt/cmake/bin:$PATH - -WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git - -WORKDIR /soft/shstk_build_debian -RUN cmake -G Ninja -DICU=0 -DLOCAL=0 -DQGLENGINE=1 -DQGLVIEW=1 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ - && cmake --build ./ --target install -j${JOBS_COUNT} \ - && cmake --build ./ --target deploy -j${JOBS_COUNT} \ - && rm -rf * \ - && ldconfig - -WORKDIR /soft/src diff --git a/docker/linux_cross-shstk/Dockerfile b/docker/linux_cross-shstk/Dockerfile new file mode 100644 index 0000000..590b8d6 --- /dev/null +++ b/docker/linux_cross-shstk/Dockerfile @@ -0,0 +1,26 @@ +ARG DOCKER_PREFIX=wapmobil/ +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} + +ARG BRANCH=release +ARG LIBS_BUILD_NUMBER=9999 +ARG JOBS_COUNT=4 +ARG support_gl=1 +ENV PATH=/opt/cmake/bin:$PATH + +WORKDIR /soft +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git + +WORKDIR /soft/shstk_build_host +RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ + && cmake --build ./ --target install -j${JOBS_COUNT} \ + && rm -rf * \ + && ldconfig + +WORKDIR /soft/shstk_build +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/target -DICU=0 -DLOCAL=1 -DQGLENGINE=${support_gl} -DQGLVIEW=${support_gl} -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain.cmake ../shstk/ \ + && cmake --build ./ --target install -j${JOBS_COUNT} \ + && cmake --build ./ --target deploy -j${JOBS_COUNT} \ + && rm -rf * + +WORKDIR /soft/src diff --git a/docker/linux_desktop-shstk/Dockerfile b/docker/linux_desktop-shstk/Dockerfile new file mode 100644 index 0000000..e1f31a2 --- /dev/null +++ b/docker/linux_desktop-shstk/Dockerfile @@ -0,0 +1,21 @@ +ARG DOCKER_PREFIX=wapmobil/ +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} + +ARG BRANCH=release +ARG LIBS_BUILD_NUMBER=9999 +ARG JOBS_COUNT=4 +ARG support_gl=1 +ENV PATH=/opt/cmake/bin:$PATH + +WORKDIR /soft +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git + +WORKDIR /soft/shstk_build_linux +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DICU=0 -DLOCAL=0 -DQGLENGINE=${support_gl} -DQGLVIEW=${support_gl} -DHAS_GL=${support_gl} -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ + && cmake --build ./ --target install -j${JOBS_COUNT} \ + && ldconfig \ + && cmake --build ./ --target deploy -j${JOBS_COUNT} \ + && rm -rf * + +WORKDIR /soft/src diff --git a/docker/osx-shstk/Dockerfile b/docker/osx-shstk/Dockerfile index 89cae55..8ad666e 100644 --- a/docker/osx-shstk/Dockerfile +++ b/docker/osx-shstk/Dockerfile @@ -1,12 +1,14 @@ ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}osx +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} +ARG BRANCH=release ARG LIBS_BUILD_NUMBER=9999 ARG JOBS_COUNT=4 ENV PATH=/soft/osxcross/target/bin:/opt/cmake/bin:$PATH WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git WORKDIR /soft/shstk_build_host RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ @@ -15,7 +17,7 @@ RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} .. && ldconfig WORKDIR /soft/shstk_build_osx -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/osx -DICU=0 -DLOCAL=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/osx -DICU=0 -DLOCAL=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} \ && cmake --build ./ --target deploy -j${JOBS_COUNT} \ && rm -rf * diff --git a/docker/pi-shstk/Dockerfile b/docker/pi-shstk/Dockerfile index 946b26c..b1bdb9a 100644 --- a/docker/pi-shstk/Dockerfile +++ b/docker/pi-shstk/Dockerfile @@ -1,12 +1,14 @@ ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}pi +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} +ARG BRANCH=release ARG LIBS_BUILD_NUMBER=9999 ARG JOBS_COUNT=4 ENV PATH=/opt/cmake/bin:$PATH WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git WORKDIR /soft/shstk_build_host RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ @@ -15,7 +17,7 @@ RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} .. && ldconfig WORKDIR /soft/shstk_build_pi -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/pi/usr -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-RPi.cmake ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/pi/usr -DICU=0 -DLOCAL=1 -DQGLENGINE=0 -DQGLVIEW=0 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-RPi.cmake ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} \ && cmake --build ./ --target deploy -j${JOBS_COUNT} \ && rm -rf * diff --git a/docker/ubuntu-shstk/Dockerfile b/docker/ubuntu-shstk/Dockerfile deleted file mode 100644 index 79aeef1..0000000 --- a/docker/ubuntu-shstk/Dockerfile +++ /dev/null @@ -1,18 +0,0 @@ -ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}ubuntu - -ARG LIBS_BUILD_NUMBER=9999 -ARG JOBS_COUNT=4 -ENV PATH=/opt/cmake/bin:$PATH - -WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git - -WORKDIR /soft/shstk_build_ubuntu -RUN cmake -G Ninja -DICU=0 -DLOCAL=0 -DQGLENGINE=1 -DQGLVIEW=1 -DHAS_GL=0 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ - && cmake --build ./ --target install -j${JOBS_COUNT} \ - && cmake --build ./ --target deploy -j${JOBS_COUNT} \ - && rm -rf * \ - && ldconfig - -WORKDIR /soft/src diff --git a/docker/windows-shstk/Dockerfile b/docker/windows-shstk/Dockerfile index 187e8a6..2d05dfc 100644 --- a/docker/windows-shstk/Dockerfile +++ b/docker/windows-shstk/Dockerfile @@ -1,12 +1,14 @@ ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}windows +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} +ARG BRANCH=release ARG LIBS_BUILD_NUMBER=9999 ARG JOBS_COUNT=4 ENV PATH=/opt/cmake/bin:$PATH WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git WORKDIR /soft/shstk_build_host RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ @@ -15,7 +17,7 @@ RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} .. && ldconfig WORKDIR /soft/shstk_build_windows -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/windows -DICU=0 -DLOCAL=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/windows -DICU=0 -DLOCAL=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} \ && cmake --build ./ --target deploy -j${JOBS_COUNT} \ && rm -rf * diff --git a/docker/windows32-shstk/Dockerfile b/docker/windows32-shstk/Dockerfile index 0c6291e..7b80599 100644 --- a/docker/windows32-shstk/Dockerfile +++ b/docker/windows32-shstk/Dockerfile @@ -1,12 +1,14 @@ ARG DOCKER_PREFIX=wapmobil/ -FROM ${DOCKER_PREFIX}windows32 +ARG IMAGE_FROM +FROM ${DOCKER_PREFIX}${IMAGE_FROM} +ARG BRANCH=release ARG LIBS_BUILD_NUMBER=9999 ARG JOBS_COUNT=4 ENV PATH=/opt/cmake/bin:$PATH WORKDIR /soft -RUN git clone -b release --single-branch --depth 1 --recursive https://git.shs.tools/SHS/shstk.git +RUN git clone -b ${BRANCH} --single-branch --depth 1 --recursive https://git.shstk.ru/SHS/shstk.git WORKDIR /soft/shstk_build_host RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} ../shstk \ @@ -15,7 +17,7 @@ RUN cmake -G Ninja -DICU=0 -DCROSSTOOLS=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} .. && ldconfig WORKDIR /soft/shstk_build_windows32 -RUN cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/soft/windows32 -DICU=0 -DLOCAL=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows32.cmake ../shstk/ \ +RUN cmake -G Ninja -DCMAKE_BUILD_TYPE=${BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=/soft/windows32 -DICU=0 -DLOCAL=1 -DQGLENGINE=1 -DQGLVIEW=1 -DBUILD_NUMBER=${LIBS_BUILD_NUMBER} -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows32.cmake ../shstk/ \ && cmake --build ./ --target install -j${JOBS_COUNT} \ && cmake --build ./ --target deploy -j${JOBS_COUNT} \ && rm -rf * diff --git a/pip b/pip index e96b399..53faaeb 160000 --- a/pip +++ b/pip @@ -1 +1 @@ -Subproject commit e96b399da7ab6c9a3d2554e2ec0b8c8ee7400831 +Subproject commit 53faaeb396ecea652cbeaec93ec2c12975d909de diff --git a/qad b/qad index 2fb937a..f8e3611 160000 --- a/qad +++ b/qad @@ -1 +1 @@ -Subproject commit 2fb937a0904c25d1f7f2cd95d2d1452efa96f350 +Subproject commit f8e361190b297f62a9c59fec968422767b3ede69 diff --git a/qglengine b/qglengine index 37e2b23..d269f30 160000 --- a/qglengine +++ b/qglengine @@ -1 +1 @@ -Subproject commit 37e2b236f5c42441d4a02268939647d32626a343 +Subproject commit d269f30107930b19c065ad2697a405a0a746dee8