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



rkBuilder.setCommandLine (COMMAND_LINE_TARGETS, ARGUMENTS)

if rkConfig.cppunitBuild :

    rkDesktop.makeDesktopFile ('rekall_test_api')
    rkMoc.generateMocFiles    ('test/api')

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

    rbl.addPorting ()
    rbl.addAll	   ('libs/common',    '_common')
    rbl.addAll	   ('libs/el32',      '_el32'  )
    rbl.addAll 	   ('libs/kbase',     '')
    rbl.addAll     ('test/common',    '_rkt_tester')
    rbl.addAll     ('test/kbase',     '_rkt_tester_kbase')
    rbl.addCPPUnit ()

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

    sources = [ \
		'modes.cpp',
		'containers.cpp',
		'stack.cpp',
		'tabber.cpp',
		'nested.cpp',
		'global.cpp',
		'buttons.cpp',
		'labels.cpp',
		'fields.cpp',
		'checks.cpp',
		'choices.cpp',
		'listboxes.cpp',
		'links.cpp',
		'format.cpp',
		'validity.cpp',
		'validityNested.cpp',
		'mapcase.cpp',
		'trees.cpp',
		'caretfocus.cpp',
		'scan.cpp',
		'records.cpp',
		'subform.cpp',
		'frames.cpp',
		'query.cpp',
		'skin.cpp',
		'errors.cpp',
		'readonly.cpp',
		'spinbox.cpp',
		'multiupdate.cpp',
		'api.cpp'
	      ]
    rbl.build	(sources = sources, desktop = 'rekall_test_api.desktop')


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

    rbc.addPorting ()
    rbc.addAll	   ('libs/common',    '_common')
    rbc.addAll	   ('libs/el32',      '_el32'  )
    rbc.addAll	   ('libs/kbase',     '')
    rbc.addAll	   ('test/api',       '_rkt_api')
    rbc.addAll     ('test/common',    '_rkt_tester')
    rbc.addAll     ('test/kbase',     '_rkt_tester_kbase')
    rbc.addCPPUnit ()

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

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