105 lines
2.1 KiB
Groovy
105 lines
2.1 KiB
Groovy
def getWorkspace() {
|
|
pwd().replace("%2F", "_")
|
|
}
|
|
|
|
def buildWindows(jobname, cmakeEnv) {
|
|
def destination = new File('/b/' + jobname + '_' + env.BRANCH_NAME.replace("/", "_"))
|
|
if(destination.exists()) destination.deleteDir()
|
|
bat 'buildscripts/build_windows.cmd' + ' "' + cmakeEnv + '" ' + destination.absolutePath + ' ' + pwd()
|
|
}
|
|
|
|
def build_MinGW32(jobname) {
|
|
node('windows') {
|
|
ws(getWorkspace()) {
|
|
stage("Checkout") {
|
|
checkout scm
|
|
}
|
|
|
|
stage("Build MinGW32") {
|
|
withEnv(["PATH+MINGW=C:/Program Files (x86)/mingw-w64/i686-6.2.0-posix-dwarf-rt_v5-rev0/mingw32/bin"]) {
|
|
buildWindows(jobname, "MinGW Makefiles")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def build_Linux(jobname) {
|
|
node('linux') {
|
|
ws(getWorkspace()) {
|
|
stage("Checkout") {
|
|
checkout scm
|
|
}
|
|
|
|
stage("Build Linux Release") {
|
|
sh 'chmod +x buildscripts/build_linux_release.sh'
|
|
sh 'buildscripts/build_linux_release.sh'
|
|
}
|
|
|
|
stage("Build Linux Debug Coverage") {
|
|
sh 'chmod +x buildscripts/build_linux_debug_coverage.sh'
|
|
sh 'buildscripts/build_linux_debug_coverage.sh'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def build_VS2015_32(jobname) {
|
|
node('windows') {
|
|
ws(getWorkspace()) {
|
|
stage("Checkout") {
|
|
checkout scm
|
|
}
|
|
|
|
stage("Build VS2015") {
|
|
buildWindows(jobname, "Visual Studio 14 2015")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def build_VS2015_64(jobname) {
|
|
node('windows') {
|
|
ws(getWorkspace()) {
|
|
stage("Checkout") {
|
|
checkout scm
|
|
}
|
|
|
|
stage("Build VS2015") {
|
|
buildWindows(jobname, "Visual Studio 14 2015 Win64")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
def buildAndTest(jobname) {
|
|
echo jobname
|
|
if (jobname.toLowerCase().endsWith("all")){
|
|
build_MinGW32(jobname)
|
|
build_Linux(jobname)
|
|
build_VS2015_32(jobname)
|
|
build_VS2015_64(jobname)
|
|
}
|
|
|
|
if (jobname.toLowerCase().endsWith("mingw32")){
|
|
build_MinGW32(jobname)
|
|
}
|
|
|
|
if (jobname.toLowerCase().endsWith("linux")){
|
|
build_Linux(jobname)
|
|
}
|
|
|
|
if (jobname.toLowerCase().endsWith("vs2015")){
|
|
build_VS2015_32(jobname)
|
|
}
|
|
|
|
if (jobname.toLowerCase().endsWith("vs2015_32")){
|
|
build_VS2015_32(jobname)
|
|
}
|
|
|
|
if (jobname.toLowerCase().endsWith("vs2015_64")){
|
|
build_VS2015_64(jobname)
|
|
}
|
|
}
|
|
|
|
buildAndTest("${env.JOB_NAME}".tokenize( '/' )[0])
|