Home | History | Annotate | Download | only in build
      1 # -*- coding: utf-8 -*-
      2 
      3 import os
      4 import sys
      5 
      6 from common import *
      7 from config import *
      8 
      9 def initBuildDir (config, generator):
     10 	srcPath = DEQP_DIR
     11 	cfgArgs = []
     12 
     13 	# Build base configuration args
     14 	cfgArgs += config.getArgs()
     15 
     16 	# Generator args
     17 	cfgArgs += generator.getGenerateArgs(config.getBuildType())
     18 
     19 	if not os.path.exists(config.buildDir):
     20 		os.makedirs(config.buildDir)
     21 
     22 	pushWorkingDir(config.getBuildDir())
     23 	execute(["cmake", srcPath] + cfgArgs)
     24 	popWorkingDir()
     25 
     26 def build (config, generator, targets = None):
     27 	# Initialize or update build dir.
     28 	initBuildDir(config, generator)
     29 
     30 	baseCmd		= ['cmake', '--build', '.']
     31 	buildArgs	= generator.getBuildArgs(config.getBuildType())
     32 
     33 	pushWorkingDir(config.getBuildDir())
     34 
     35 	if targets == None:
     36 		execute(baseCmd + buildArgs)
     37 	else:
     38 		for target in targets:
     39 			execute(baseCmd + ['--target', target] + buildArgs)
     40 
     41 	popWorkingDir()
     42