import	rkBuilder
import	rkConfig
import	rkMoc
import	rkWalker
import	rkDesktop
import	os



rkBuilder.setCommandLine (COMMAND_LINE_TARGETS, ARGUMENTS)

if rkConfig.cppunitBuild :

    rbt	= rkBuilder.rkBuilder ('rkt_tester', rkBuilder.typeSharedLib)

    rbt.setRuntime ()
    rbt.addPorting ()
    rbt.addAll	   ('libs/common',    '_common')
    rbt.setDefine  ('TESTROOTDIR', '"\\"%s"\\"' % (rkConfig.prefix))
    rbt.addCPPUnit ()

    if rkConfig.mode == 'win' :
        rbt.addCFlags  ('/EHsc')

    sources = [ \
		'tester.cpp'
	      ]
    rbt.build	(sources = sources)

    rkDesktop.makeDesktopFile ('rekallrt_test_common')
    rkMoc.generateMocFiles    ('test/common')

    rbl	= rkBuilder.rkBuilder ('rkt_common', rkBuilder.typeLoadedLib)

    rbl.setRuntime ()
    rbl.addPorting ()
    rbl.addAll	   ('libs/common',    '_common')
    rbl.addAll	   ('libs/el32',      '_el32'  )
    rbl.addAll 	   ('libs/kbase',     '',		True)
    rbl.addAll	   ('test/common',    '_rkt_tester',	True)
    rbl.addAll	   ('test/dummy',     '_driver_test')

    rbl.addCPPUnit ()

    if rkConfig.mode == 'win' :
        rbl.addCFlags  ('/EHsc')

    sources = [ \
		'datetime.cpp',
		'value.cpp',
		'base64.cpp',
		'location.cpp',
		'common.cpp',
		'db.cpp',
		'sql.cpp',
		'sql_select.cpp',
		'parseSelect.cpp',
		'baseSelect.cpp',
		'dom.cpp',
		'dbdociter.cpp'
	      ]
    rbl.build	(sources = sources, desktop = 'rekallrt_test_common.desktop')


    rbc	= rkBuilder.rkBuilder ('rkt_common_rt', rkBuilder.typeConsole)

    rbc.setRuntime ()
    rbc.addPorting ()
    rbc.addAll	   ('libs/common',    '_common')
    rbc.addAll	   ('libs/el32',      '_el32'  )
    rbc.addAll	   ('libs/kbase',     '',		True)
    rbc.addAll	   ('test/common',    '_rkt_common',	True)

    rbc.addLibPath ('test/dummy'  )
    rbc.addLib	   (rkConfig.libPrefix + '_driver_test' )
    rbc.addLib	   (rkConfig.libPrefix + 'rt_rkt_tester')

    rbc.addCPPUnit ()

    if rkConfig.mode == 'win' :
        rbc.addCFlags  ('/EHsc')

    rbc.build	(sources = 'runner.cpp')
