summaryrefslogtreecommitdiffstats
path: root/admin/buildscript.py
blob: 5d5e5bc35bd90e8c3e784cdd5c8afb6fd5fc2757 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#!/usr/bin/python
# -*- coding: utf-8 -*-
import copy, platform, os, re
from AutobuildCore.Configuration import Configuration
from AutobuildCore.Project import Project
from AutobuildCore.helpers.build_script_helpers import DebugN
from AutobuildCore.helpers.build_script_helpers import AddToPathCollection
from AutobuildCore.helpers.platformdefs import PlatformDefs
from AutobuildCore.helpers.exceptdefs import AutobuildException
from AutobuildCore import autobuildRoot
from AutobuildCore import Callback

hiddenFileIdent = '.'

buildSequenceSwitches = ''

#if 'Windows' in platform.platform():
#	buildSequenceSwitches += ',disable-conf-bin-package'
#	hiddenFileIdent = '_'


class KDToolsBuilder( Callback.ConfigurationCallback ):
	def __init__( self, platform ):
		Callback.ConfigurationCallback.__init__( self, 'KD Tools Builder' )
		self.__platform = platform

	def preBuildCallback( self, job ):
		config = job.configuration()
		project = config.project()
		kdtoolsFolder = job.buildDir() + os.sep + 'kdtools' + os.sep + 'kdtools'
		if 'Windows' in self.__platform:
			confcmd = 'configure.bat ' + config.getOptions()
		else:
			confcmd = './configure.sh ' + config.getOptions()
		step = job.executomat().step( 'conf-configure' )
		step.addPreCommand( confcmd, kdtoolsFolder )
		defs = PlatformDefs.GivePlatformDefs()
		makecmd = defs.makeProgram()
		step.addPreCommand( makecmd, kdtoolsFolder )
		maketestcmd = defs.makeProgram() + ' test'
		step.addPreCommand( maketestcmd, kdtoolsFolder )
		AddToPathCollection( defs.libPathVariable() , kdtoolsFolder + os.sep + 'lib' )

scmPath = 'svn+ssh://svn.kdab.net/home/SVN-klaralv/projects/Nokia/SDK'
product = Project( 'Installer' )

product.setScmUrl( scmPath + '/trunk' )
#product.setPackageLocation( 'svn.kdab.net:/home/build/autobuild/packages/kdchart' )
product.setBuildSequenceSwitches( 's', buildSequenceSwitches )
product.setBuildSequenceSwitches( 'f', buildSequenceSwitches )
product.getSettings().addRecipientOnSuccess( 'nokia-sdk@kdab.net' )
product.getSettings().addRecipientOnFailure( 'nokia-sdk@kdab.net' )

debug = Configuration( product, 'Debug' )
debug.addCallback( KDToolsBuilder( platform.platform() ) )
debug.setBuilder('autotools')
debug.setPackageDependencies( [ 'Qt-4.[5-9].?-Static-Debug' ] )
debug.setBuildMode( 'inSource' )
debug.setOptions( '-static -debug' )
debug.setBuildTypes('MCDFE')

release = copy.copy( debug ) # use debug as the base configuration
release.setConfigName( 'Release' )
release.setPackageDependencies( [ 'Qt-4.[5-9].?-Static-Release' ] )
release.setOptions( '-static -release' )
release.setBuildTypes( 'MCDSFE' ) # snapshots are release builds


jobs = [ debug, release ]
#jobs = [ debug, eval ]

product.build( jobs )