⛏️ index : haiku.git

SubDir HAIKU_TOP src tools cppunit ;

AddSubDirSupportedPlatforms libbe_test ;

UseHeaders [ FDirName $(HAIKU_TOP) headers tools elfsymbolpatcher ] : true ;
UseCppUnitHeaders ;

SEARCH_SOURCE += [ FDirName $(SUBDIR) cppunit ] ;

{
	DEFINES += BUILDING_CPPUNIT ;

	if ( $(OS) != BEOS && $(OS) != HAIKU ) || $(OSPLAT) = PPC {
		DEFINES += NO_ELF_SYMBOL_PATCHING ;
	}
}

SharedLibrary libcppunit.so :
	BTestCase.cpp
	BTestSuite.cpp
	SemaphoreSyncObject.cpp
	TestApp.cpp
	TestListener.cpp
	TestShell.cpp
	TestUtils.cpp
	ThreadedTestCase.cpp

	# cppunit
	Asserter.cpp
	CompilerOutputter.cpp
	Exception.cpp
	NotEqualException.cpp
	RepeatedTest.cpp
	SourceLine.cpp
	SynchronizedObject.cpp
	TestAssert.cpp
	TestCase.cpp
	TestFactoryRegistry.cpp
	TestFailure.cpp
	TestResult.cpp
	TestResultCollector.cpp
	TestRunner.cpp
	TestSetUp.cpp
	TestSucessListener.cpp
	TestSuite.cpp
	TextOutputter.cpp
	TextTestProgressListener.cpp
	TextTestResult.cpp
	TypeInfoHelper.cpp
	XmlOutputter.cpp
	: be [ TargetLibstdc++ ]
;

if  ( $(OS) = BEOS || $(OS) = HAIKU ) && $(OSPLAT) != PPC {
	LinkAgainst libcppunit.so : libelfsymbolpatcher.a debug ;
}

# To run the tests we need the cppunit library.
{
	local target = <src!tools!cppunit>libcppunit.so ;
	MakeLocate $(target) : $(TARGET_UNIT_TEST_LIB_DIR) ;
	RelSymLink $(target) : libcppunit.so ;
	Depends libcppunit.so : $(target) ;
}