#ADD_SUBDIRECTORY( chaining ) 
#ADD_SUBDIRECTORY( visiting ) 
#ADD_SUBDIRECTORY( compat ) 
#ADD_SUBDIRECTORY( util ) 
#ADD_SUBDIRECTORY( builder ) 
#ADD_SUBDIRECTORY( constraint ) 
#ADD_SUBDIRECTORY( matcher ) 
#ADD_SUBDIRECTORY( stub ) 
ADD_SUBDIRECTORY( production ) 
#ADD_SUBDIRECTORY( framework ) 
ADD_SUBDIRECTORY( tests ) 


SET(mockpp_LIB_SRCS
ExpectationCounter.cpp
mockpp.cpp
Throwable.cpp
ThrowableList.cpp
MockObject.cpp
VerifiableList.cpp
Verifiable.cpp
SelfDescribing.cpp
TrackingCounter.cpp
MixedMockObject.cpp
MockTimeServer.cpp

builder/BuilderNamespace.cpp
builder/IdentityBuilder.cpp

chaining/ChainingMockObjectSupport.cpp
chaining/Invocation.cpp
chaining/ChainableMockObject.cpp

compat/Exception.cpp
compat/Asserter.cpp
compat/Formatter.cpp
compat/AssertionFailedError.cpp

constraint/IsAnything.cpp
constraint/IsNothing.cpp
constraint/ConstraintSet.cpp
constraint/TypelessConstraint.cpp

framework/VerifyingTestCase.cpp
framework/VerifyingTestCaller.cpp

matcher/InvokeAtLeastMatcher.cpp
matcher/InvokeAtMostMatcher.cpp
matcher/InvokeCountMatcher.cpp
matcher/InvokedRecorder.cpp
matcher/InvokeOnceMatcher.cpp
matcher/TestFailureMatcher.cpp
matcher/TypelessMatcher.cpp
matcher/InvokeAtLeastOnceMatcher.cpp
matcher/UnlimitedMatcher.cpp

stub/VoidStub.cpp

util/AssertMo.cpp
util/NotImplementedException.cpp

visiting/VisitableMockMethod.cpp
visiting/VisitableMockObject.cpp
)

ADD_LIBRARY(mockpp SHARED ${mockpp_LIB_SRCS})

TARGET_LINK_LIBRARIES(
  mockpp  
  mockpp_production 
#  matcher 
#  util 
#  stub 
#  constraint 
#  compat 
#  chaining 
#  visiting
#  framework 
#  builder 
)

SET_TARGET_PROPERTIES(mockpp PROPERTIES VERSION 4.2.0 SOVERSION 4 )
INSTALL(TARGETS mockpp DESTINATION ${LIB_INSTALL_DIR} )


########### install files ###############

INSTALL_FILES(  FILES  mockpp_config.h ReturnObjectList.h Expectation.h  		
  AbstractExpectation.h ExpectationValue.h ExpectationSegment.h ExpectationList.h  		
  ExpectationSet.h ExpectationMap.h ExpectationBoundary.h AbstractExpectationCollection.h  
  ExpectationConglomeration.h  		ExpectationCounter.h mockpp.h Throwable.h 
  ThrowableList.h MockObject.h  		VerifiableList.h Verifiable.h SelfDescribing.h  		
  TrackingCounter.h MixedMockObject.h mockpp_dbc.h MockTimeServer.h  	CountParameters.h
)

