forked from pyrite-dev/milsko
105 lines
2.5 KiB
Groovy
105 lines
2.5 KiB
Groovy
pipeline {
|
|
agent {
|
|
label "built-in"
|
|
}
|
|
stages {
|
|
stage("Build document") {
|
|
when {
|
|
branch "master"
|
|
}
|
|
agent {
|
|
label "built-in"
|
|
}
|
|
steps {
|
|
sh("rm -rf include/Mw/LowLevel/Wayland")
|
|
sh("doxygen")
|
|
sh("rm -rf /var/www/milsko-doxygen")
|
|
sh("mv doxygen/html /var/www/milsko-doxygen")
|
|
}
|
|
post {
|
|
always {
|
|
notifyDiscord()
|
|
}
|
|
}
|
|
}
|
|
stage("Build") {
|
|
parallel {
|
|
stage("Build for Linux 64-bit") {
|
|
agent {
|
|
label "built-in"
|
|
}
|
|
steps {
|
|
sh("git clean -dfx")
|
|
sh("./configure --enable-opengl --enable-vulkan --without-vulkan-string-helper")
|
|
sh("make -j4")
|
|
sh("mv src/libMw.so libMw64.so")
|
|
archiveArtifacts("libMw64.so")
|
|
}
|
|
}
|
|
stage("Build for Windows 32-bit") {
|
|
agent {
|
|
label "built-in"
|
|
}
|
|
steps {
|
|
sh("git clean -dfx")
|
|
sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=i686-w64-mingw32")
|
|
sh("make -j4")
|
|
sh("mv src/Mw.dll Mw32.dll")
|
|
sh("mv src/libMw.dll.a libMw32.dll.a")
|
|
archiveArtifacts("Mw32.dll,libMw32.dll.a")
|
|
}
|
|
}
|
|
stage("Build for Windows 64-bit") {
|
|
agent {
|
|
label "built-in"
|
|
}
|
|
steps {
|
|
sh("git clean -dfx")
|
|
sh("./configure --enable-opengl --enable-stb-truetype --disable-freetype2 --cross --target=Windows --host=x86_64-w64-mingw32")
|
|
sh("make -j4")
|
|
sh("mv src/Mw.dll Mw64.dll")
|
|
sh("mv src/libMw.dll.a libMw64.dll.a")
|
|
archiveArtifacts("Mw64.dll,libMw64.dll.a")
|
|
}
|
|
}
|
|
stage("Build for Windows 32-bit (MSVC)") {
|
|
agent {
|
|
label "2012r2"
|
|
}
|
|
steps {
|
|
bat("git clean -dfx")
|
|
bat("nmake -f NTMakefile")
|
|
bat("move /y src\\Mw.dll MwMSVC32.dll")
|
|
bat("move /y src\\Mw.lib MwMSVC32.lib")
|
|
archiveArtifacts("MwMSVC32.dll,MwMSVC32.lib")
|
|
}
|
|
}
|
|
stage("Build for Windows 32-bit (Watcom)") {
|
|
agent {
|
|
label "built-in"
|
|
}
|
|
environment {
|
|
WATCOM = "/usr/watcom"
|
|
INCLUDE = "/usr/watcom/h:/usr/watcom/h/nt"
|
|
PATH = "/usr/watcom/binl64:${env.PATH}"
|
|
}
|
|
steps {
|
|
sh("git clean -dfx")
|
|
sh("wmake -f WatMakefile")
|
|
sh("mv src/Mw.dll MwWat32.dll")
|
|
sh("mv src/Mw.lib MwWat32.lib")
|
|
archiveArtifacts("MwWat32.dll,MwWat32.lib")
|
|
sh("./tools/watcom-pack.sh")
|
|
sh("mv milsko-examples.zip milsko-examples-win32.zip")
|
|
archiveArtifacts("milsko-examples-win32.zip")
|
|
}
|
|
}
|
|
}
|
|
post {
|
|
always {
|
|
notifyDiscord()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|