
INSOURCE_MAKEFILE() # create an in source makefile for us

##############################################################################

MIRA_REQUIRE_PACKAGE(MIRAFramework)

##############################################################################

MIRA_ADD_LIBRARY(TestIntPublisherSubscriberUnits
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		TestIntPublisher.C
		TestIntSubscriber.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(NameRegistryTest
	SOURCE
		NameRegistryTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(FrameworkBasicTest
	SOURCE
		FrameworkBasicTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(SubscribeIntervalTest
	SOURCE
		SubscribeIntervalTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(FrameworkLoaderTest
	SOURCE
		FrameworkLoaderTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(FrameworkTransformTest
	SOURCE
		FrameworkTransformTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(FrameworkCPULoadTest
	SOURCE
		FrameworkCPULoadTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(TimerTest
	SOURCE
		TimerTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(TapeTest
	SOURCE
		TapeTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(RPCTest
	SOURCE
		RPCTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(FrameworkBugTests
	SOURCE
		FrameworkBugTests.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(FrameworkGraphTest
	SOURCE
		FrameworkGraphTest.C
	LINK_LIBS
		MIRAFramework
)

MIRA_ADD_TEST(MultiFrameworkGraphTest
	SOURCE
		MultiFrameworkGraphTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_LIBRARY(MetaSerializationPolymorphicTestUnits
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		MetaSerializationPolymorphicTestUnits.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

#MIRA_ADD_TEST(MetaSerializationPolymorphicTest
#	SOURCE
#		MetaSerializationPolymorphicTest.C
#	LINK_LIBS
#		MIRAFramework
#)

##############################################################################

MIRA_ADD_LIBRARY(ChannelPromoteByTypenameTestUnits1
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		ChannelPromoteByTypenameTestUnits1.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

MIRA_ADD_LIBRARY(ChannelPromoteByTypenameTestUnits2
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		ChannelPromoteByTypenameTestUnits2.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

MIRA_ADD_LIBRARY(ChannelPromoteByTypenameTestUnits34
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		ChannelPromoteByTypenameTestUnits3.C
		ChannelPromoteByTypenameTestUnits4.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

# cannot instantiate framework twice in same process,
# so each of these tests must be a separate binary

MIRA_ADD_TEST(ChannelPromoteByTypenameTest_Remote
	SOURCE
		ChannelPromoteByTypenameTest_Remote.C
	LINK_LIBS
		MIRAFramework
)

MIRA_ADD_TEST(ChannelPromoteByTypenameTest_Local
	SOURCE
		ChannelPromoteByTypenameTest_Local.C
	LINK_LIBS
		MIRAFramework
)

MIRA_ADD_TEST(ChannelPromoteByTypenameTest_NoAutoPromote
	SOURCE
		ChannelPromoteByTypenameTest_NoAutoPromote.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(ServicePropertyTest
	SOURCE
		ServicePropertyTest.C
	LINK_LIBS
		MIRAFramework
)


##############################################################################

MIRA_ADD_TEST(SerializationCompatibilityTapeTest
	SOURCE
		SerializationCompatibilityTapeTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_TEST(PolymorphicChannelsTest
	SOURCE
		PolymorphicChannelsTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_LIBRARY(DynamicPropertiesUnits
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		DynamicPropertiesUnits.C
	LINK_LIBS
		MIRAFramework
)

MIRA_ADD_TEST(DynamicPropertiesTest
	SOURCE
		DynamicPropertiesTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_LIBRARY(FrameworkConcurrentLoadTestUnit
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		FrameworkConcurrentLoadTestUnit.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

MIRA_ADD_TEST(FrameworkConcurrentLoadTest
	SOURCE
		FrameworkConcurrentLoadTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_LIBRARY(ChannelSynchronizerTestUnit
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		ChannelSynchronizerTestUnit.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

MIRA_ADD_TEST(ChannelSynchronizerTest
	SOURCE
		ChannelSynchronizerTest.C
	LINK_LIBS
		MIRAFramework
)

##############################################################################

MIRA_ADD_LIBRARY(PTPSyncTestUnits
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		PTPSyncTestUnits.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

MIRA_ADD_TEST(PTPSyncTest
	SOURCE
		PTPSyncTest.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

##############################################################################

MIRA_ADD_LIBRARY(ServiceLevelTestCodec
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		ServiceLevelTestCodec.C
	LINK_LIBS
		MIRAFramework
)

MIRA_ADD_LIBRARY(ServiceLevelTestUnit
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		ServiceLevelTestUnit.C
	LINK_LIBS
		MIRAFramework
)

MIRA_ADD_TEST(ServiceLevelTest
	SOURCE
		ServiceLevelTest.C
	LINK_LIBS
		MIRAFramework
		ServiceLevelTestCodec
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

##############################################################################

MIRA_ADD_LIBRARY(MonitorConnectionTestUnits
	SHARED
	PACKAGE
		MIRAFramework
	SOURCE
		MonitorConnectionTestUnits.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

MIRA_ADD_TEST(MonitorConnectionTest
	SOURCE
		MonitorConnectionTest.C
	LINK_LIBS
		MIRAFramework
		${BOOST_UNIT_TEST_FRAMEWORK_LIBRARY}
)

##############################################################################

MIRA_ADD_TEST(PropertyQueryTest
	SOURCE
		PropertyQueryTest.C
	LINK_LIBS
		MIRAFramework
)
