<commit_before>#############################################################################
#																	      #
#		 			CMakeList created by ecore4CPP Generator				  # 
#																	      #
#############################################################################

# C++ project of model uml.ecore, generated by Ecore4CPP

CMAKE_MINIMUM_REQUIRED(VERSION 3.9)

PROJECT(uml)

IF(NOT CMAKE_BUILD_TYPE) 
    SET(CMAKE_BUILD_TYPE Debug)
ENDIF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_DEBUG_POSTFIX d)

SET(CMAKE_CXX_STANDARD 14)

IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
	SET(CMAKE_CXX_FLAGS "-Wall -Wno-overloaded-virtual -Wdeprecated-declarations -fmax-errors=5")
ELSE()
	SET(GCC_COVERAGE_LINK_FLAGS "-fopenmp")
	SET(CMAKE_CXX_FLAGS "-Wall -Wno-overloaded-virtual -Wdeprecated-declarations -fopenmp -fmax-errors=5")
ENDIF()

SET(CMAKE_CXX_FLAGS_DEBUG " -Og -ggdb -DACTIVITY_DEBUG_ON")
SET(CMAKE_CXX_FLAGS_RELEASE " -O3 -DNDEBUG")

string(REPLACE "\\" "/" MDE4CPP_HOME $ENV{MDE4CPP_HOME})

SET(SOURCE_FILES
	impl/UmlFactoryImpl.cpp
	UmlFactory.cpp
	impl/UmlPackageImpl.cpp
	impl/UmlPackageImpl_Creation.cpp
	impl/UmlPackageImpl_Initialization.cpp
	UmlPackage.cpp
	impl/UmlPluginImpl.cpp
	UmlPlugin.cpp
	impl/AbstractionImpl.cpp
	impl/AcceptCallActionImpl.cpp
	impl/AcceptEventActionImpl.cpp
	impl/ActionImpl.cpp
	impl/ActionExecutionSpecificationImpl.cpp
	impl/ActionInputPinImpl.cpp
	impl/ActivityImpl.cpp
	impl/ActivityContentImpl.cpp
	impl/ActivityEdgeImpl.cpp
	impl/ActivityFinalNodeImpl.cpp
	impl/ActivityGroupImpl.cpp
	impl/ActivityNodeImpl.cpp
	impl/ActivityParameterNodeImpl.cpp
	impl/ActivityPartitionImpl.cpp
	impl/ActorImpl.cpp
	impl/AddStructuralFeatureValueActionImpl.cpp
	impl/AddVariableValueActionImpl.cpp
	impl/AnyReceiveEventImpl.cpp
	impl/ArtifactImpl.cpp
	impl/AssociationImpl.cpp
	impl/AssociationClassImpl.cpp
	impl/BehaviorImpl.cpp
	impl/BehaviorExecutionSpecificationImpl.cpp
	impl/BehavioralFeatureImpl.cpp
	impl/BehavioredClassifierImpl.cpp
	impl/BroadcastSignalActionImpl.cpp
	impl/CallActionImpl.cpp
	impl/CallBehaviorActionImpl.cpp
	impl/CallEventImpl.cpp
	impl/CallOperationActionImpl.cpp
	impl/CentralBufferNodeImpl.cpp
	impl/ChangeEventImpl.cpp
	impl/ClassImpl.cpp
	impl/ClassifierImpl.cpp
	impl/ClassifierTemplateParameterImpl.cpp
	impl/ClauseImpl.cpp
	impl/ClearAssociationActionImpl.cpp
	impl/ClearStructuralFeatureActionImpl.cpp
	impl/ClearVariableActionImpl.cpp
	impl/CollaborationImpl.cpp
	impl/CollaborationUseImpl.cpp
	impl/CombinedFragmentImpl.cpp
	impl/CommentImpl.cpp
	impl/CommunicationPathImpl.cpp
	impl/ComponentImpl.cpp
	impl/ComponentRealizationImpl.cpp
	impl/ConditionalNodeImpl.cpp
	impl/ConnectableElementImpl.cpp
	impl/ConnectableElementTemplateParameterImpl.cpp
	impl/ConnectionPointReferenceImpl.cpp
	impl/ConnectorImpl.cpp
	impl/ConnectorEndImpl.cpp
	impl/ConsiderIgnoreFragmentImpl.cpp
	impl/ConstraintImpl.cpp
	impl/ContinuationImpl.cpp
	impl/ControlFlowImpl.cpp
	impl/ControlNodeImpl.cpp
	impl/CreateLinkActionImpl.cpp
	impl/CreateLinkObjectActionImpl.cpp
	impl/CreateObjectActionImpl.cpp
	impl/DataStoreNodeImpl.cpp
	impl/DataTypeImpl.cpp
	impl/DecisionNodeImpl.cpp
	impl/DependencyImpl.cpp
	impl/DeployedArtifactImpl.cpp
	impl/DeploymentImpl.cpp
	impl/DeploymentSpecificationImpl.cpp
	impl/DeploymentTargetImpl.cpp
	impl/DestroyLinkActionImpl.cpp
	impl/DestroyObjectActionImpl.cpp
	impl/DestructionOccurrenceSpecificationImpl.cpp
	impl/DeviceImpl.cpp
	impl/DirectedRelationshipImpl.cpp
	impl/DurationImpl.cpp
	impl/DurationConstraintImpl.cpp
	impl/DurationIntervalImpl.cpp
	impl/DurationObservationImpl.cpp
	impl/ElementImpl.cpp
	impl/ElementImportImpl.cpp
	impl/EncapsulatedClassifierImpl.cpp
	impl/EnumerationImpl.cpp
	impl/EnumerationLiteralImpl.cpp
	impl/EventImpl.cpp
	impl/ExceptionHandlerImpl.cpp
	impl/ExecutableNodeImpl.cpp
	impl/ExecutionEnvironmentImpl.cpp
	impl/ExecutionOccurrenceSpecificationImpl.cpp
	impl/ExecutionSpecificationImpl.cpp
	impl/ExpansionNodeImpl.cpp
	impl/ExpansionRegionImpl.cpp
	impl/ExpressionImpl.cpp
	impl/ExtendImpl.cpp
	impl/ExtensionImpl.cpp
	impl/ExtensionEndImpl.cpp
	impl/ExtensionPointImpl.cpp
	impl/FactoryImpl.cpp
	impl/FeatureImpl.cpp
	impl/FinalNodeImpl.cpp
	impl/FinalStateImpl.cpp
	impl/FlowFinalNodeImpl.cpp
	impl/ForkNodeImpl.cpp
	impl/FunctionBehaviorImpl.cpp
	impl/GateImpl.cpp
	impl/GeneralOrderingImpl.cpp
	impl/GeneralizationImpl.cpp
	impl/GeneralizationSetImpl.cpp
	impl/ImageImpl.cpp
	impl/IncludeImpl.cpp
	impl/InformationFlowImpl.cpp
	impl/InformationItemImpl.cpp
	impl/InitialNodeImpl.cpp
	impl/InputPinImpl.cpp
	impl/InstanceSpecificationImpl.cpp
	impl/InstanceValueImpl.cpp
	impl/InteractionImpl.cpp
	impl/InteractionConstraintImpl.cpp
	impl/InteractionFragmentImpl.cpp
	impl/InteractionOperandImpl.cpp
	impl/InteractionUseImpl.cpp
	impl/InterfaceImpl.cpp
	impl/InterfaceRealizationImpl.cpp
	impl/InterruptibleActivityRegionImpl.cpp
	impl/IntervalImpl.cpp
	impl/IntervalConstraintImpl.cpp
	impl/InvocationActionImpl.cpp
	impl/JoinNodeImpl.cpp
	impl/LifelineImpl.cpp
	impl/LinkActionImpl.cpp
	impl/LinkEndCreationDataImpl.cpp
	impl/LinkEndDataImpl.cpp
	impl/LinkEndDestructionDataImpl.cpp
	impl/LiteralBooleanImpl.cpp
	impl/LiteralIntegerImpl.cpp
	impl/LiteralNullImpl.cpp
	impl/LiteralRealImpl.cpp
	impl/LiteralSpecificationImpl.cpp
	impl/LiteralStringImpl.cpp
	impl/LiteralUnlimitedNaturalImpl.cpp
	impl/LoopNodeImpl.cpp
	impl/ManifestationImpl.cpp
	impl/MergeNodeImpl.cpp
	impl/MessageImpl.cpp
	impl/MessageEndImpl.cpp
	impl/MessageEventImpl.cpp
	impl/MessageOccurrenceSpecificationImpl.cpp
	impl/ModelImpl.cpp
	impl/MultiplicityElementImpl.cpp
	impl/NamedElementImpl.cpp
	impl/NamespaceImpl.cpp
	impl/NodeImpl.cpp
	impl/ObjectImpl.cpp
	impl/ObjectFlowImpl.cpp
	impl/ObjectNodeImpl.cpp
	impl/ObservationImpl.cpp
	impl/OccurrenceSpecificationImpl.cpp
	impl/OpaqueActionImpl.cpp
	impl/OpaqueBehaviorImpl.cpp
	impl/OpaqueExpressionImpl.cpp
	impl/OperationImpl.cpp
	impl/OperationTemplateParameterImpl.cpp
	impl/OutputPinImpl.cpp
	impl/PackageImpl.cpp
	impl/PackageImportImpl.cpp
	impl/PackageMergeImpl.cpp
	impl/PackageableElementImpl.cpp
	impl/ParameterImpl.cpp
	impl/ParameterSetImpl.cpp
	impl/ParameterableElementImpl.cpp
	impl/PartDecompositionImpl.cpp
	impl/PinImpl.cpp
	impl/PortImpl.cpp
	impl/PrimitiveTypeImpl.cpp
	impl/ProfileImpl.cpp
	impl/ProfileApplicationImpl.cpp
	impl/PropertyImpl.cpp
	impl/ProtocolConformanceImpl.cpp
	impl/ProtocolStateMachineImpl.cpp
	impl/ProtocolTransitionImpl.cpp
	impl/PseudostateImpl.cpp
	impl/QualifierValueImpl.cpp
	impl/RaiseExceptionActionImpl.cpp
	impl/ReadExtentActionImpl.cpp
	impl/ReadIsClassifiedObjectActionImpl.cpp
	impl/ReadLinkActionImpl.cpp
	impl/ReadLinkObjectEndActionImpl.cpp
	impl/ReadLinkObjectEndQualifierActionImpl.cpp
	impl/ReadSelfActionImpl.cpp
	impl/ReadStructuralFeatureActionImpl.cpp
	impl/ReadVariableActionImpl.cpp
	impl/RealizationImpl.cpp
	impl/ReceptionImpl.cpp
	impl/ReclassifyObjectActionImpl.cpp
	impl/RedefinableElementImpl.cpp
	impl/RedefinableTemplateSignatureImpl.cpp
	impl/ReduceActionImpl.cpp
	impl/RegionImpl.cpp
	impl/RelationshipImpl.cpp
	impl/RemoveStructuralFeatureValueActionImpl.cpp
	impl/RemoveVariableValueActionImpl.cpp
	impl/ReplyActionImpl.cpp
	impl/SendObjectActionImpl.cpp
	impl/SendSignalActionImpl.cpp
	impl/SequenceNodeImpl.cpp
	impl/SignalImpl.cpp
	impl/SignalEventImpl.cpp
	impl/SlotImpl.cpp
	impl/StartClassifierBehaviorActionImpl.cpp
	impl/StartObjectBehaviorActionImpl.cpp
	impl/StateImpl.cpp
	impl/StateInvariantImpl.cpp
	impl/StateMachineImpl.cpp
	impl/StereotypeImpl.cpp
	impl/StringExpressionImpl.cpp
	impl/StructuralFeatureImpl.cpp
	impl/StructuralFeatureActionImpl.cpp
	impl/StructuredActivityNodeImpl.cpp
	impl/StructuredClassifierImpl.cpp
	impl/SubstitutionImpl.cpp
	impl/TemplateBindingImpl.cpp
	impl/TemplateParameterImpl.cpp
	impl/TemplateParameterSubstitutionImpl.cpp
	impl/TemplateSignatureImpl.cpp
	impl/TemplateableElementImpl.cpp
	impl/TestIdentityActionImpl.cpp
	impl/TimeConstraintImpl.cpp
	impl/TimeEventImpl.cpp
	impl/TimeExpressionImpl.cpp
	impl/TimeIntervalImpl.cpp
	impl/TimeObservationImpl.cpp
	impl/TransitionImpl.cpp
	impl/TriggerImpl.cpp
	impl/TypeImpl.cpp
	impl/TypedElementImpl.cpp
	impl/UnmarshallActionImpl.cpp
	impl/UsageImpl.cpp
	impl/UseCaseImpl.cpp
	impl/ValuePinImpl.cpp
	impl/ValueSpecificationImpl.cpp
	impl/ValueSpecificationActionImpl.cpp
	impl/VariableImpl.cpp
	impl/VariableActionImpl.cpp
	impl/VertexImpl.cpp
	impl/WriteLinkActionImpl.cpp
	impl/WriteStructuralFeatureActionImpl.cpp
	impl/WriteVariableActionImpl.cpp
	${MDE4CPP_HOME}/application/include/util/util.cpp
	${MDE4CPP_HOME}/application/include/util/registry.cpp
	${MDE4CPP_HOME}/application/include/util/stereotypestorage.cpp
	#${MDE4CPP_HOME}/application/include/util/ProfileCallCount.cpp
)

INCLUDE_DIRECTORIES(
	../
	${MDE4CPP_HOME}/application/include
)

IF(NOT UNIX)
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(PLUGINFRAMEWORK_DEBUG PluginFrameworkd ${MDE4CPP_HOME}/application/lib)
	ELSE()
		FIND_LIBRARY(PLUGINFRAMEWORK_RELEASE PluginFramework ${MDE4CPP_HOME}/application/lib)
	ENDIF()
ENDIF()

# Apple specific stuff
if(APPLE)
  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup")
  set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -undefined dynamic_lookup")
endif(APPLE)

IF(UNIX AND NOT APPLE)
    # for Linux, BSD, Solaris, Minix
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(ECORE_DEBUG ecored.so ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_DEBUG typesd.so ${MDE4CPP_HOME}/application/bin)
	ELSE()
		FIND_LIBRARY(ECORE_RELEASE ecore.so ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_RELEASE types.so ${MDE4CPP_HOME}/application/bin)
	ENDIF()
ELSEIF(APPLE)
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(ECORE_DEBUG ecored.dylib ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_DEBUG typesd.dylib ${MDE4CPP_HOME}/application/bin)
	ELSE()
		FIND_LIBRARY(ECORE_RELEASE ecore.dylib ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_RELEASE types.dylib ${MDE4CPP_HOME}/application/bin)
	ENDIF()
ELSE()
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(ECORE_DEBUG ecored ${MDE4CPP_HOME}/application/lib)
		FIND_LIBRARY(TYPES_DEBUG typesd ${MDE4CPP_HOME}/application/lib)
	ELSE()
		FIND_LIBRARY(ECORE_RELEASE ecore ${MDE4CPP_HOME}/application/lib)
		FIND_LIBRARY(TYPES_RELEASE types ${MDE4CPP_HOME}/application/lib)
	ENDIF()
ENDIF()

ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCE_FILES})

IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
	IF(NOT UNIX)
		TARGET_LINK_LIBRARIES(${PROJECT_NAME} 
			debug ${PLUGINFRAMEWORK_DEBUG}
			debug ${ECORE_DEBUG}
			debug ${TYPES_DEBUG}
	)
	ELSE()
		TARGET_LINK_LIBRARIES(${PROJECT_NAME} 
			#debug ${PLUGINFRAMEWORK_DEBUG}
			debug ${ECORE_DEBUG}
			debug ${TYPES_DEBUG}
		)
	ENDIF()
ELSE()
	IF(NOT UNIX) 
		TARGET_LINK_LIBRARIES(${PROJECT_NAME}
			optimized ${PLUGINFRAMEWORK_RELEASE}
			optimized ${ECORE_RELEASE}
			optimized ${TYPES_RELEASE}
	)
	ELSE()
		TARGET_LINK_LIBRARIES(${PROJECT_NAME}
			#optimized ${PLUGINFRAMEWORK_RELEASE}
			optimized ${ECORE_RELEASE}
			optimized ${TYPES_RELEASE}
		)
	ENDIF()
ENDIF()

SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "")

#-----------------------------------------------------
# DELIVERING binaries and header to ${MDE4CPP_HOME}
#-----------------------------------------------------

INSTALL(TARGETS ${PROJECT_NAME}
	RUNTIME DESTINATION ${MDE4CPP_HOME}/application/bin
    LIBRARY DESTINATION ${MDE4CPP_HOME}/application/bin
    ARCHIVE DESTINATION ${MDE4CPP_HOME}/application/lib
)

INSTALL(DIRECTORY . DESTINATION ${MDE4CPP_HOME}/application/include/${PROJECT_NAME}
	FILES_MATCHING PATTERN "*.hpp"
	PATTERN ".cmake" EXCLUDE
)
<commit_msg>update generated code after removing pluginFramework from linker configuration<commit_after>#############################################################################
#																	      #
#		 			CMakeList created by ecore4CPP Generator				  # 
#																	      #
#############################################################################

# C++ project of model uml.ecore, generated by Ecore4CPP

CMAKE_MINIMUM_REQUIRED(VERSION 3.9)

PROJECT(uml)

IF(NOT CMAKE_BUILD_TYPE) 
    SET(CMAKE_BUILD_TYPE Debug)
ENDIF(NOT CMAKE_BUILD_TYPE)
SET(CMAKE_DEBUG_POSTFIX d)

SET(CMAKE_CXX_STANDARD 14)

IF("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
	SET(CMAKE_CXX_FLAGS "-Wall -Wno-overloaded-virtual -Wdeprecated-declarations -fmax-errors=5")
ELSE()
	SET(GCC_COVERAGE_LINK_FLAGS "-fopenmp")
	SET(CMAKE_CXX_FLAGS "-Wall -Wno-overloaded-virtual -Wdeprecated-declarations -fopenmp -fmax-errors=5")
ENDIF()

SET(CMAKE_CXX_FLAGS_DEBUG " -Og -ggdb -DACTIVITY_DEBUG_ON")
SET(CMAKE_CXX_FLAGS_RELEASE " -O3 -DNDEBUG")

string(REPLACE "\\" "/" MDE4CPP_HOME $ENV{MDE4CPP_HOME})

SET(SOURCE_FILES
	impl/UmlFactoryImpl.cpp
	UmlFactory.cpp
	impl/UmlPackageImpl.cpp
	impl/UmlPackageImpl_Creation.cpp
	impl/UmlPackageImpl_Initialization.cpp
	UmlPackage.cpp
	impl/UmlPluginImpl.cpp
	UmlPlugin.cpp
	impl/AbstractionImpl.cpp
	impl/AcceptCallActionImpl.cpp
	impl/AcceptEventActionImpl.cpp
	impl/ActionImpl.cpp
	impl/ActionExecutionSpecificationImpl.cpp
	impl/ActionInputPinImpl.cpp
	impl/ActivityImpl.cpp
	impl/ActivityContentImpl.cpp
	impl/ActivityEdgeImpl.cpp
	impl/ActivityFinalNodeImpl.cpp
	impl/ActivityGroupImpl.cpp
	impl/ActivityNodeImpl.cpp
	impl/ActivityParameterNodeImpl.cpp
	impl/ActivityPartitionImpl.cpp
	impl/ActorImpl.cpp
	impl/AddStructuralFeatureValueActionImpl.cpp
	impl/AddVariableValueActionImpl.cpp
	impl/AnyReceiveEventImpl.cpp
	impl/ArtifactImpl.cpp
	impl/AssociationImpl.cpp
	impl/AssociationClassImpl.cpp
	impl/BehaviorImpl.cpp
	impl/BehaviorExecutionSpecificationImpl.cpp
	impl/BehavioralFeatureImpl.cpp
	impl/BehavioredClassifierImpl.cpp
	impl/BroadcastSignalActionImpl.cpp
	impl/CallActionImpl.cpp
	impl/CallBehaviorActionImpl.cpp
	impl/CallEventImpl.cpp
	impl/CallOperationActionImpl.cpp
	impl/CentralBufferNodeImpl.cpp
	impl/ChangeEventImpl.cpp
	impl/ClassImpl.cpp
	impl/ClassifierImpl.cpp
	impl/ClassifierTemplateParameterImpl.cpp
	impl/ClauseImpl.cpp
	impl/ClearAssociationActionImpl.cpp
	impl/ClearStructuralFeatureActionImpl.cpp
	impl/ClearVariableActionImpl.cpp
	impl/CollaborationImpl.cpp
	impl/CollaborationUseImpl.cpp
	impl/CombinedFragmentImpl.cpp
	impl/CommentImpl.cpp
	impl/CommunicationPathImpl.cpp
	impl/ComponentImpl.cpp
	impl/ComponentRealizationImpl.cpp
	impl/ConditionalNodeImpl.cpp
	impl/ConnectableElementImpl.cpp
	impl/ConnectableElementTemplateParameterImpl.cpp
	impl/ConnectionPointReferenceImpl.cpp
	impl/ConnectorImpl.cpp
	impl/ConnectorEndImpl.cpp
	impl/ConsiderIgnoreFragmentImpl.cpp
	impl/ConstraintImpl.cpp
	impl/ContinuationImpl.cpp
	impl/ControlFlowImpl.cpp
	impl/ControlNodeImpl.cpp
	impl/CreateLinkActionImpl.cpp
	impl/CreateLinkObjectActionImpl.cpp
	impl/CreateObjectActionImpl.cpp
	impl/DataStoreNodeImpl.cpp
	impl/DataTypeImpl.cpp
	impl/DecisionNodeImpl.cpp
	impl/DependencyImpl.cpp
	impl/DeployedArtifactImpl.cpp
	impl/DeploymentImpl.cpp
	impl/DeploymentSpecificationImpl.cpp
	impl/DeploymentTargetImpl.cpp
	impl/DestroyLinkActionImpl.cpp
	impl/DestroyObjectActionImpl.cpp
	impl/DestructionOccurrenceSpecificationImpl.cpp
	impl/DeviceImpl.cpp
	impl/DirectedRelationshipImpl.cpp
	impl/DurationImpl.cpp
	impl/DurationConstraintImpl.cpp
	impl/DurationIntervalImpl.cpp
	impl/DurationObservationImpl.cpp
	impl/ElementImpl.cpp
	impl/ElementImportImpl.cpp
	impl/EncapsulatedClassifierImpl.cpp
	impl/EnumerationImpl.cpp
	impl/EnumerationLiteralImpl.cpp
	impl/EventImpl.cpp
	impl/ExceptionHandlerImpl.cpp
	impl/ExecutableNodeImpl.cpp
	impl/ExecutionEnvironmentImpl.cpp
	impl/ExecutionOccurrenceSpecificationImpl.cpp
	impl/ExecutionSpecificationImpl.cpp
	impl/ExpansionNodeImpl.cpp
	impl/ExpansionRegionImpl.cpp
	impl/ExpressionImpl.cpp
	impl/ExtendImpl.cpp
	impl/ExtensionImpl.cpp
	impl/ExtensionEndImpl.cpp
	impl/ExtensionPointImpl.cpp
	impl/FactoryImpl.cpp
	impl/FeatureImpl.cpp
	impl/FinalNodeImpl.cpp
	impl/FinalStateImpl.cpp
	impl/FlowFinalNodeImpl.cpp
	impl/ForkNodeImpl.cpp
	impl/FunctionBehaviorImpl.cpp
	impl/GateImpl.cpp
	impl/GeneralOrderingImpl.cpp
	impl/GeneralizationImpl.cpp
	impl/GeneralizationSetImpl.cpp
	impl/ImageImpl.cpp
	impl/IncludeImpl.cpp
	impl/InformationFlowImpl.cpp
	impl/InformationItemImpl.cpp
	impl/InitialNodeImpl.cpp
	impl/InputPinImpl.cpp
	impl/InstanceSpecificationImpl.cpp
	impl/InstanceValueImpl.cpp
	impl/InteractionImpl.cpp
	impl/InteractionConstraintImpl.cpp
	impl/InteractionFragmentImpl.cpp
	impl/InteractionOperandImpl.cpp
	impl/InteractionUseImpl.cpp
	impl/InterfaceImpl.cpp
	impl/InterfaceRealizationImpl.cpp
	impl/InterruptibleActivityRegionImpl.cpp
	impl/IntervalImpl.cpp
	impl/IntervalConstraintImpl.cpp
	impl/InvocationActionImpl.cpp
	impl/JoinNodeImpl.cpp
	impl/LifelineImpl.cpp
	impl/LinkActionImpl.cpp
	impl/LinkEndCreationDataImpl.cpp
	impl/LinkEndDataImpl.cpp
	impl/LinkEndDestructionDataImpl.cpp
	impl/LiteralBooleanImpl.cpp
	impl/LiteralIntegerImpl.cpp
	impl/LiteralNullImpl.cpp
	impl/LiteralRealImpl.cpp
	impl/LiteralSpecificationImpl.cpp
	impl/LiteralStringImpl.cpp
	impl/LiteralUnlimitedNaturalImpl.cpp
	impl/LoopNodeImpl.cpp
	impl/ManifestationImpl.cpp
	impl/MergeNodeImpl.cpp
	impl/MessageImpl.cpp
	impl/MessageEndImpl.cpp
	impl/MessageEventImpl.cpp
	impl/MessageOccurrenceSpecificationImpl.cpp
	impl/ModelImpl.cpp
	impl/MultiplicityElementImpl.cpp
	impl/NamedElementImpl.cpp
	impl/NamespaceImpl.cpp
	impl/NodeImpl.cpp
	impl/ObjectImpl.cpp
	impl/ObjectFlowImpl.cpp
	impl/ObjectNodeImpl.cpp
	impl/ObservationImpl.cpp
	impl/OccurrenceSpecificationImpl.cpp
	impl/OpaqueActionImpl.cpp
	impl/OpaqueBehaviorImpl.cpp
	impl/OpaqueExpressionImpl.cpp
	impl/OperationImpl.cpp
	impl/OperationTemplateParameterImpl.cpp
	impl/OutputPinImpl.cpp
	impl/PackageImpl.cpp
	impl/PackageImportImpl.cpp
	impl/PackageMergeImpl.cpp
	impl/PackageableElementImpl.cpp
	impl/ParameterImpl.cpp
	impl/ParameterSetImpl.cpp
	impl/ParameterableElementImpl.cpp
	impl/PartDecompositionImpl.cpp
	impl/PinImpl.cpp
	impl/PortImpl.cpp
	impl/PrimitiveTypeImpl.cpp
	impl/ProfileImpl.cpp
	impl/ProfileApplicationImpl.cpp
	impl/PropertyImpl.cpp
	impl/ProtocolConformanceImpl.cpp
	impl/ProtocolStateMachineImpl.cpp
	impl/ProtocolTransitionImpl.cpp
	impl/PseudostateImpl.cpp
	impl/QualifierValueImpl.cpp
	impl/RaiseExceptionActionImpl.cpp
	impl/ReadExtentActionImpl.cpp
	impl/ReadIsClassifiedObjectActionImpl.cpp
	impl/ReadLinkActionImpl.cpp
	impl/ReadLinkObjectEndActionImpl.cpp
	impl/ReadLinkObjectEndQualifierActionImpl.cpp
	impl/ReadSelfActionImpl.cpp
	impl/ReadStructuralFeatureActionImpl.cpp
	impl/ReadVariableActionImpl.cpp
	impl/RealizationImpl.cpp
	impl/ReceptionImpl.cpp
	impl/ReclassifyObjectActionImpl.cpp
	impl/RedefinableElementImpl.cpp
	impl/RedefinableTemplateSignatureImpl.cpp
	impl/ReduceActionImpl.cpp
	impl/RegionImpl.cpp
	impl/RelationshipImpl.cpp
	impl/RemoveStructuralFeatureValueActionImpl.cpp
	impl/RemoveVariableValueActionImpl.cpp
	impl/ReplyActionImpl.cpp
	impl/SendObjectActionImpl.cpp
	impl/SendSignalActionImpl.cpp
	impl/SequenceNodeImpl.cpp
	impl/SignalImpl.cpp
	impl/SignalEventImpl.cpp
	impl/SlotImpl.cpp
	impl/StartClassifierBehaviorActionImpl.cpp
	impl/StartObjectBehaviorActionImpl.cpp
	impl/StateImpl.cpp
	impl/StateInvariantImpl.cpp
	impl/StateMachineImpl.cpp
	impl/StereotypeImpl.cpp
	impl/StringExpressionImpl.cpp
	impl/StructuralFeatureImpl.cpp
	impl/StructuralFeatureActionImpl.cpp
	impl/StructuredActivityNodeImpl.cpp
	impl/StructuredClassifierImpl.cpp
	impl/SubstitutionImpl.cpp
	impl/TemplateBindingImpl.cpp
	impl/TemplateParameterImpl.cpp
	impl/TemplateParameterSubstitutionImpl.cpp
	impl/TemplateSignatureImpl.cpp
	impl/TemplateableElementImpl.cpp
	impl/TestIdentityActionImpl.cpp
	impl/TimeConstraintImpl.cpp
	impl/TimeEventImpl.cpp
	impl/TimeExpressionImpl.cpp
	impl/TimeIntervalImpl.cpp
	impl/TimeObservationImpl.cpp
	impl/TransitionImpl.cpp
	impl/TriggerImpl.cpp
	impl/TypeImpl.cpp
	impl/TypedElementImpl.cpp
	impl/UnmarshallActionImpl.cpp
	impl/UsageImpl.cpp
	impl/UseCaseImpl.cpp
	impl/ValuePinImpl.cpp
	impl/ValueSpecificationImpl.cpp
	impl/ValueSpecificationActionImpl.cpp
	impl/VariableImpl.cpp
	impl/VariableActionImpl.cpp
	impl/VertexImpl.cpp
	impl/WriteLinkActionImpl.cpp
	impl/WriteStructuralFeatureActionImpl.cpp
	impl/WriteVariableActionImpl.cpp
	${MDE4CPP_HOME}/application/include/util/util.cpp
	${MDE4CPP_HOME}/application/include/util/registry.cpp
	${MDE4CPP_HOME}/application/include/util/stereotypestorage.cpp
	#${MDE4CPP_HOME}/application/include/util/ProfileCallCount.cpp
)

INCLUDE_DIRECTORIES(
	../
	${MDE4CPP_HOME}/application/include
)

# Apple specific stuff
if(APPLE)
  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup")
  set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -undefined dynamic_lookup")
endif(APPLE)

IF(UNIX AND NOT APPLE)
    # for Linux, BSD, Solaris, Minix
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(ECORE_DEBUG ecored.so ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_DEBUG typesd.so ${MDE4CPP_HOME}/application/bin)
		
	ELSE()
		FIND_LIBRARY(ECORE_RELEASE ecore.so ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_RELEASE types.so ${MDE4CPP_HOME}/application/bin)
		
	ENDIF()
ELSEIF(APPLE)
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(ECORE_DEBUG ecored.dylib ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_DEBUG typesd.dylib ${MDE4CPP_HOME}/application/bin)
		
	ELSE()
		FIND_LIBRARY(ECORE_RELEASE ecore.dylib ${MDE4CPP_HOME}/application/bin)
		FIND_LIBRARY(TYPES_RELEASE types.dylib ${MDE4CPP_HOME}/application/bin)
		
	ENDIF()
ELSE()
	IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
		FIND_LIBRARY(ECORE_DEBUG ecored ${MDE4CPP_HOME}/application/lib)
		FIND_LIBRARY(TYPES_DEBUG typesd ${MDE4CPP_HOME}/application/lib)
		
	ELSE()
		FIND_LIBRARY(ECORE_RELEASE ecore ${MDE4CPP_HOME}/application/lib)
		FIND_LIBRARY(TYPES_RELEASE types ${MDE4CPP_HOME}/application/lib)
		
	ENDIF()
ENDIF()

ADD_LIBRARY(${PROJECT_NAME} SHARED ${SOURCE_FILES})
SET_TARGET_PROPERTIES(${PROJECT_NAME} PROPERTIES PREFIX "")

IF (CMAKE_BUILD_TYPE STREQUAL "Debug")
	TARGET_LINK_LIBRARIES(${PROJECT_NAME}
		debug ${ECORE_DEBUG}
		debug ${TYPES_DEBUG}
	)
ELSE()
	TARGET_LINK_LIBRARIES(${PROJECT_NAME}
		optimized ${ECORE_RELEASE}
		optimized ${TYPES_RELEASE}
	)
ENDIF()

#-----------------------------------------------------
# DELIVERING binaries and header to ${MDE4CPP_HOME}
#-----------------------------------------------------

INSTALL(TARGETS ${PROJECT_NAME}
	RUNTIME DESTINATION ${MDE4CPP_HOME}/application/bin
    LIBRARY DESTINATION ${MDE4CPP_HOME}/application/bin
    ARCHIVE DESTINATION ${MDE4CPP_HOME}/application/lib
)

INSTALL(DIRECTORY . DESTINATION ${MDE4CPP_HOME}/application/include/${PROJECT_NAME}
	FILES_MATCHING PATTERN "*.hpp"
	PATTERN ".cmake" EXCLUDE
)

{'fraction_non_alphanumeric': 0.10389952573335676, 'fraction_numerical': 0.002986123309327244, 'mean_word_length': 5.928202007909948, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2198322', 'n_tokens_mistral': 8107, 'n_tokens_neox': 7771, 'n_words': 932}