96 lines
2.9 KiB
Groovy
96 lines
2.9 KiB
Groovy
pipeline {
|
|
environment {
|
|
JOBS_COUNT = 4
|
|
}
|
|
agent {
|
|
docker { image 'libs' }
|
|
}
|
|
stages {
|
|
stage('Build') {
|
|
parallel {
|
|
stage('Linux') {
|
|
steps {
|
|
echo 'build Linux'
|
|
sh "mkdir -p build/linux"
|
|
sh "cd build/linux && rm -rf ./* && cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} ../../src"
|
|
sh "cd build/linux && make -j${JOBS_COUNT}"
|
|
sh "cd build/linux && make install -j${JOBS_COUNT}"
|
|
sh "cd build/linux && make deploy"
|
|
archiveArtifacts 'release/Linux/*/*.deb'
|
|
}
|
|
}
|
|
stage('Windows') {
|
|
steps {
|
|
echo 'build Windows'
|
|
sh "mkdir -p build/windows"
|
|
sh "cd build/windows && rm -rf ./* && cmake -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Windows.cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} ../../src"
|
|
sh "cd build/windows && make -j${JOBS_COUNT}"
|
|
sh "cd build/windows && make install -j${JOBS_COUNT}"
|
|
sh "cd build/windows && make deploy"
|
|
archiveArtifacts 'release/Windows/*/*.zip'
|
|
}
|
|
}
|
|
stage('MacOS') {
|
|
steps {
|
|
echo 'build MacOS'
|
|
sh "mkdir -p build/osx"
|
|
sh "cd build/osx && rm -rf ./* && cmake -DCMAKE_TOOLCHAIN_FILE=/soft/toolchain-Darwin.cmake -DBUILD_NUMBER=${env.BUILD_NUMBER} ../../src"
|
|
sh "cd build/osx && make -j${JOBS_COUNT}"
|
|
sh "cd build/osx && make install -j${JOBS_COUNT}"
|
|
sh "cd build/osx && make deploy"
|
|
sh "cd release/Darwin/* && zip -9 `ls | grep dmg`.zip `ls | grep dmg`"
|
|
archiveArtifacts 'release/Darwin/*/*.zip'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stage('Build Android') {
|
|
environment {
|
|
NDK_PLATFORM = 'android-21'
|
|
ANDROID_TOOLCHAIN = '/usr/lib/android-sdk/ndk-bundle/build/cmake/android.toolchain.cmake'
|
|
}
|
|
steps {
|
|
echo 'build Android'
|
|
script {
|
|
sh "mkdir -p build/android"
|
|
def archs = ['armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64']
|
|
for (int i = 0; i < archs.size(); ++i) {
|
|
echo 'build Android ${archs[i]}'
|
|
sh "cd build/android && rm -rf ./CMake*"
|
|
sh "cd build/android && cmake -DCMAKE_TOOLCHAIN_FILE=${ANDROID_TOOLCHAIN} -DANDROID_PLATFORM=${NDK_PLATFORM} -DANDROID_ABI=${archs[i]} -DCMAKE_INSTALL_PREFIX=/soft/android/${archs[i]} -DQt5_DIR=/soft/android/qt/lib/cmake/Qt5 -DBUILD_NUMBER=${env.BUILD_NUMBER} ../../src"
|
|
sh "cd build/android && make install -j${JOBS_COUNT}"
|
|
}
|
|
sh "cd build/android && make deploy"
|
|
archiveArtifacts 'release/Android/*.apk'
|
|
}
|
|
//sh 'cd build/osx && make -j${JOBS_COUNT}'
|
|
}
|
|
}
|
|
/*stage('Build Android') {
|
|
matrix {
|
|
axes {
|
|
axis {
|
|
name 'ARCH'
|
|
values 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
|
|
}
|
|
}
|
|
stages {
|
|
stage('Build Android ${ARCH}') {
|
|
steps {
|
|
sh 'mkdir -p build/android'
|
|
echo "build Android ${ARCH}"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}*/
|
|
}
|
|
post {
|
|
always {
|
|
echo 'clean'
|
|
//sh "cd build && rm -rf ./*"
|
|
//sh "cd release && rm -rf ./*"
|
|
//sh "cd bin && rm -rf ./*"
|
|
}
|
|
}
|
|
} |