40 lines
1.7 KiB
Groovy
40 lines
1.7 KiB
Groovy
@Library('SHS.Platforms') _
|
|
properties([
|
|
copyArtifactPermission('*'),
|
|
buildDiscarder(logRotator(numToKeepStr: "10", artifactNumToKeepStr: "2"))
|
|
])
|
|
node {
|
|
def pl = new org.SHS.Platforms(this)
|
|
pl.get()
|
|
pl.forEach ({ dist, toolchain ->
|
|
docker.image("${dist.docker_image}-shstk").inside() {
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
sh "cd build && rm -rf ./* && cmake -G Ninja ${toolchain} -DBUILD_NUMBER=${env.BUILD_NUMBER} -DSHS_QT_VERSION=5 -DLIB=0 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/*/*/*'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}, blackList: ["android"])
|
|
def dist = pl.root().Platforms.Android;
|
|
if (dist.enabled) {
|
|
stage('Android') {
|
|
docker.image("${dist.docker_image}-shstk").inside() {
|
|
sh "rm -rf ./release"
|
|
sh "mkdir -p build"
|
|
for (arch in ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64']) {
|
|
echo 'build Android ${arch}'
|
|
sh "cd build && rm -rf ./CMake*"
|
|
sh "cd build && cmake -G Ninja -DCMAKE_TOOLCHAIN_FILE=${dist.cmake_toolchain} -DANDROID_PLATFORM=${dist.docker_build_options.NDK_PLATFORM} -DANDROID_ABI=${arch} -DCMAKE_INSTALL_PREFIX=/soft/android/${arch} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DBUILD_NUMBER=${env.BUILD_NUMBER} -DLIB=0 -DSHS_QT_VERSION=5 ../src"
|
|
sh "cd build && cmake --build ./ --target install -j${env.JOBS_COUNT}"
|
|
}
|
|
sh "cd build && cmake --build ./ --target deploy -j${env.JOBS_COUNT}"
|
|
archiveArtifacts 'release/Android/*.apk*'
|
|
archiveArtifacts 'release/Android/*.aab'
|
|
sh 'rm -rf ./build ./bin ./release ./builds'
|
|
}
|
|
}
|
|
}
|
|
}
|