set(filesystem)# Support for std::filesystem::experimental
if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)
  set(filesystem stdc++fs)
endif()

add_library_ex(CommonDataModel
  H_FILES
    CommonDefs.h
    Doxy.h
    Macros.h
    PhysiologyEngine.h
    PhysiologyEngineThunk.h
    PhysiologyEnginePool.h
    blackbox/SEBlackBox.h
    blackbox/SEBlackBoxManager.h
    blackbox/electrical/SEElectricalBlackBox.h
    blackbox/fluid/SEFluidBlackBox.h
    blackbox/fluid/SEGasBlackBox.h
    blackbox/fluid/SELiquidBlackBox.h
    blackbox/thermal/SEThermalBlackBox.h
    circuit/SECircuit.h
    circuit/SECircuitCalculator.h
    circuit/SECircuitManager.h
    circuit/SECircuitNode.h
    circuit/SECircuitPath.h
    circuit/electrical/SEElectricalCircuit.h
    circuit/electrical/SEElectricalCircuitCalculator.h
    circuit/electrical/SEElectricalCircuitNode.h
    circuit/electrical/SEElectricalCircuitPath.h
    circuit/fluid/SEFluidCircuit.h
    circuit/fluid/SEFluidCircuitCalculator.h
    circuit/fluid/SEFluidCircuitNode.h
    circuit/fluid/SEFluidCircuitPath.h
    circuit/thermal/SEThermalCircuit.h
    circuit/thermal/SEThermalCircuitCalculator.h
    circuit/thermal/SEThermalCircuitNode.h
    circuit/thermal/SEThermalCircuitPath.h
    compartment/SECompartment.h
    compartment/SECompartmentGraph.h
    compartment/SECompartmentLink.h
    compartment/SECompartmentManager.h
    compartment/SECompartmentNodes.h
    compartment/SECompartmentTransportGraph.h
    compartment/electrical/SEElectricalCompartment.h
    compartment/electrical/SEElectricalCompartmentLink.h
    compartment/fluid/SEFluidCompartment.h
    compartment/fluid/SEFluidCompartmentLink.h
    compartment/fluid/SEGasCompartment.h
    compartment/fluid/SEGasCompartmentGraph.h
    compartment/fluid/SEGasCompartmentLink.h
    compartment/fluid/SELiquidCompartment.h
    compartment/fluid/SELiquidCompartmentGraph.h
    compartment/fluid/SELiquidCompartmentLink.h
    compartment/substances/SEGasSubstanceQuantity.h
    compartment/substances/SELiquidSubstanceQuantity.h
    compartment/substances/SESubstanceQuantity.h
    compartment/thermal/SEThermalCompartment.h
    compartment/thermal/SEThermalCompartmentLink.h
    compartment/tissue/SETissueCompartment.h
    engine/SEAction.h
    engine/SEActionManager.h
    engine/SEAdvanceHandler.h
    engine/SEAdvanceTime.h
    engine/SECondition.h
    engine/SEConditionManager.h
    engine/SEDataRequest.h
    engine/SEDataRequested.h
    engine/SEDataRequestManager.h
    engine/SEDecimalFormat.h
    engine/SEDynamicStabilization.h
    engine/SEDynamicStabilizationEngineConvergence.h
    engine/SEDynamicStabilizationLedger.h
    engine/SEDynamicStabilizationPropertyConvergence.h
    engine/SEEngineConfiguration.h
    engine/SEEngineInitialization.h
    engine/SEEngineStabilization.h
    engine/SEEngineTracker.h
    engine/SEEnvironmentActionCollection.h
    engine/SEEquipmentActionCollection.h
    engine/SEEventManager.h
    engine/SEOverrides.h
    engine/SEPatientActionCollection.h
    engine/SEPatientConfiguration.h
    engine/SESerializeState.h
    engine/SETimedStabilization.h
    engine/SEValidationTarget.h
    io/protobuf/PBActions.h
    io/protobuf/PBAnesthesiaMachine.h
    io/protobuf/PBBagValveMask.h
    io/protobuf/PBBlackBox.h
    io/protobuf/PBCircuit.h
    io/protobuf/PBCompartment.h
    io/protobuf/PBConditions.h
    io/protobuf/PBElectroCardioGram.h
    io/protobuf/PBEngine.h
    io/protobuf/PBEnvironment.h
    io/protobuf/PBEnvironmentActions.h
    io/protobuf/PBEnvironmentConditions.h
    io/protobuf/PBEquipmentActions.h
    io/protobuf/PBEvents.h
    io/protobuf/PBInhaler.h
    io/protobuf/PBMechanicalVentilator.h
    io/protobuf/PBPatient.h
    io/protobuf/PBPatientActions.h
    io/protobuf/PBPatientAssessments.h
    io/protobuf/PBPatientConditions.h
    io/protobuf/PBPatientNutrition.h
    io/protobuf/PBPhysiology.h
    io/protobuf/PBProperties.h
    io/protobuf/PBScenario.h
    io/protobuf/PBSubstance.h
    io/protobuf/PBSubstanceQuantity.h
    io/protobuf/PBTestReport.h
    io/protobuf/PBUtils.h
    patient/SEMeal.h
    patient/SENutrition.h
    patient/SEPatient.h
    patient/actions/SEAcuteRespiratoryDistressSyndromeExacerbation.h
    patient/actions/SEAcuteStress.h
    patient/actions/SEAirwayObstruction.h
    patient/actions/SEArrhythmia.h
    patient/actions/SEAsthmaAttack.h
    patient/actions/SEBrainInjury.h
    patient/actions/SEBronchoconstriction.h
    patient/actions/SEChestCompressionForce.h
    patient/actions/SEChestCompressionForceScale.h
    patient/actions/SEChestOcclusiveDressing.h
    patient/actions/SEChronicObstructivePulmonaryDiseaseExacerbation.h
    patient/actions/SEConsciousRespiration.h
    patient/actions/SEConsciousRespirationCommand.h
    patient/actions/SEConsumeNutrients.h
    patient/actions/SEDyspnea.h
    patient/actions/SEExercise.h
    patient/actions/SEForcedExhale.h
    patient/actions/SEForcedInhale.h
    patient/actions/SEForcedPause.h
    patient/actions/SEHemorrhage.h
    patient/actions/SEImpairedAlveolarExchangeExacerbation.h
    patient/actions/SEIntubation.h
    patient/actions/SELobarPneumoniaExacerbation.h
    patient/actions/SEMechanicalVentilation.h
    patient/actions/SENeedleDecompression.h
    patient/actions/SEPatientAction.h
    patient/actions/SEPatientAssessmentRequest.h
    patient/actions/SEPericardialEffusion.h
    patient/actions/SEPulmonaryShuntExacerbation.h
    patient/actions/SERespiratoryFatigue.h
    patient/actions/SERespiratoryMechanicsConfiguration.h
    patient/actions/SESubstanceAdministration.h
    patient/actions/SESubstanceBolus.h
    patient/actions/SESubstanceCompoundInfusion.h
    patient/actions/SESubstanceInfusion.h
    patient/actions/SESupplementalOxygen.h
    patient/actions/SETensionPneumothorax.h
    patient/actions/SEUrinate.h
    patient/actions/SEUseInhaler.h
    patient/assessments/SEArterialBloodGasTest.h
    patient/assessments/SECompleteBloodCount.h
    patient/assessments/SEComprehensiveMetabolicPanel.h
    patient/assessments/SEPatientAssessment.h
    patient/assessments/SEPulmonaryFunctionTest.h
    patient/assessments/SEUrinalysis.h
    patient/assessments/SEUrinalysisMicroscopic.h
    patient/conditions/SEAcuteRespiratoryDistressSyndrome.h
    patient/conditions/SEChronicAnemia.h
    patient/conditions/SEChronicObstructivePulmonaryDisease.h
    patient/conditions/SEChronicPericardialEffusion.h
    patient/conditions/SEChronicRenalStenosis.h
    patient/conditions/SEChronicVentricularSystolicDysfunction.h
    patient/conditions/SEConsumeMeal.h
    patient/conditions/SEImpairedAlveolarExchange.h
    patient/conditions/SELobarPneumonia.h
    patient/conditions/SEPatientCondition.h
    patient/conditions/SEPulmonaryFibrosis.h
    patient/conditions/SEPulmonaryShunt.h
    patient/conditions/SESepsis.h
    properties/SEArray.h
    properties/SEArrayElectricPotential.h
    #properties/SEArrayPressure.h
    #properties/SEArrayVolume.h
    #properties/SEArrayVolumePerTime.h
    properties/SECurve.h
    properties/SEFunction.h
    properties/SEFunctionElectricPotentialVsTime.h
    properties/SEFunctionVolumeVsTime.h
    properties/SEHistogram.h
    properties/SEHistogramFractionVsLength.h
    properties/SEProperty.h
    properties/SERunningAverage.h
    properties/SESegment.h
    properties/SESegmentConstant.h
    properties/SESegmentLinear.h
    properties/SESegmentParabolic.h
    properties/SESegmentSigmoidal.h
    properties/SEScalar.h
    properties/SEScalar0To1.h
    properties/SEScalarAmount.h
    properties/SEScalarAmountPerMass.h
    properties/SEScalarAmountPerTime.h
    properties/SEScalarAmountPerVolume.h
    properties/SEScalarArea.h
    properties/SEScalarAreaPerTimePressure.h
    properties/SEScalarElectricCapacitance.h
    properties/SEScalarElectricCharge.h
    properties/SEScalarElectricCurrent.h
    properties/SEScalarElectricInductance.h
    properties/SEScalarElectricPotential.h
    properties/SEScalarElectricResistance.h
    properties/SEScalarEnergy.h
    properties/SEScalarEnergyPerAmount.h
    properties/SEScalarEnergyPerMass.h
    properties/SEScalarEquivalentWeightPerVolume.h
    properties/SEScalarForce.h
    properties/SEScalarFrequency.h
    properties/SEScalarHeatCapacitance.h
    properties/SEScalarHeatCapacitancePerAmount.h
    properties/SEScalarHeatCapacitancePerMass.h
    properties/SEScalarHeatConductance.h
    properties/SEScalarHeatConductancePerArea.h
    properties/SEScalarHeatInductance.h
    properties/SEScalarHeatResistance.h
    properties/SEScalarHeatResistanceArea.h
    properties/SEScalarInversePressure.h
    properties/SEScalarInverseVolume.h
    properties/SEScalarLength.h
    properties/SEScalarLengthPerTime.h
    properties/SEScalarLengthPerTimePressure.h
    properties/SEScalarMass.h
    properties/SEScalarMassPerAmount.h
    properties/SEScalarMassPerAreaTime.h
    properties/SEScalarMassPerMass.h
    properties/SEScalarMassPerTime.h
    properties/SEScalarMassPerVolume.h
    properties/SEScalarNegative1To1.h
    properties/SEScalarOsmolality.h
    properties/SEScalarOsmolarity.h
    properties/SEScalarPower.h
    properties/SEScalarPowerPerAreaTemperatureToTheFourth.h
    properties/SEScalarPressure.h
    properties/SEScalarPressurePerVolume.h
    properties/SEScalarPressureTimePerArea.h
    properties/SEScalarPressureTimePerVolume.h
    properties/SEScalarPressureTimePerVolumeArea.h
    properties/SEScalarPressureTimeSquaredPerVolume.h
    properties/SEScalarTemperature.h
    properties/SEScalarTime.h
    properties/SEScalarVolume.h
    properties/SEScalarVolumePerPressure.h
    properties/SEScalarVolumePerTime.h
    properties/SEScalarVolumePerTimeArea.h
    properties/SEScalarVolumePerTimeMass.h
    properties/SEScalarVolumePerTimePressure.h
    properties/SEScalarVolumePerTimePressureArea.h
    scenario/SEScenario.h
    scenario/SEScenarioExec.h
    substance/SESubstance.h
    substance/SESubstanceAerosolization.h
    substance/SESubstanceClearance.h
    substance/SESubstanceCompound.h
    substance/SESubstanceConcentration.h
    substance/SESubstanceFraction.h
    substance/SESubstanceManager.h
    substance/SESubstancePharmacodynamics.h
    substance/SESubstancePharmacokinetics.h
    substance/SESubstancePhysicochemicals.h
    substance/SESubstanceTissuePharmacokinetics.h
    substance/SESubstanceTransport.h
    system/SESystem.h
    system/environment/SEActiveConditioning.h
    system/environment/SEAppliedTemperature.h
    system/environment/SEEnvironment.h
    system/environment/SEEnvironmentalConditions.h
    system/environment/actions/SEChangeEnvironmentalConditions.h
    system/environment/actions/SEEnvironmentAction.h
    system/environment/actions/SEThermalApplication.h
    system/environment/conditions/SEEnvironmentCondition.h
    system/environment/conditions/SEInitialEnvironmentalConditions.h
    system/equipment/SEEquipment.h
    system/equipment/SEEquipmentAction.h
    system/equipment/anesthesia_machine/SEAnesthesiaMachine.h
    system/equipment/anesthesia_machine/SEAnesthesiaMachineChamber.h
    system/equipment/anesthesia_machine/SEAnesthesiaMachineOxygenBottle.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineAction.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineConfiguration.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineExpiratoryValveLeak.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineExpiratoryValveObstruction.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineInspiratoryValveLeak.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineInspiratoryValveObstruction.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineMaskLeak.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineOxygenTankPressureLoss.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineOxygenWallPortPressureLoss.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineSodaLimeFailure.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineTubeCuffLeak.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineVaporizerFailure.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineVentilatorPressureLoss.h
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineYPieceDisconnect.h
    system/equipment/bag_valve_mask/SEBagValveMask.h
    system/equipment/bag_valve_mask/actions/SEBagValveMaskAction.h
    system/equipment/bag_valve_mask/actions/SEBagValveMaskAutomated.h
    system/equipment/bag_valve_mask/actions/SEBagValveMaskConfiguration.h
    system/equipment/bag_valve_mask/actions/SEBagValveMaskInstantaneous.h
    system/equipment/bag_valve_mask/actions/SEBagValveMaskSqueeze.h
    system/equipment/electrocardiogram/SEElectroCardioGram.h
    system/equipment/electrocardiogram/SEElectroCardioGramWaveform.h
    system/equipment/inhaler/SEInhaler.h
    system/equipment/inhaler/actions/SEInhalerAction.h
    system/equipment/inhaler/actions/SEInhalerConfiguration.h
    system/equipment/mechanical_ventilator/SEMechanicalVentilator.h
    system/equipment/mechanical_ventilator/SEMechanicalVentilatorSettings.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorAction.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorConfiguration.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorContinuousPositiveAirwayPressure.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorHold.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorLeak.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorMode.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorPressureControl.h
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorVolumeControl.h
    system/physiology/SEBloodChemistrySystem.h
    system/physiology/SECardiovascularSystem.h
    system/physiology/SEDrugSystem.h
    system/physiology/SEEndocrineSystem.h
    system/physiology/SEEnergySystem.h
    system/physiology/SEGastrointestinalSystem.h
    system/physiology/SEHepaticSystem.h
    system/physiology/SENervousSystem.h
    system/physiology/SEPupillaryResponse.h
    system/physiology/SERenalSystem.h
    system/physiology/SERespiratoryMechanics.h
    system/physiology/SERespiratorySystem.h
    system/physiology/SETissueSystem.h
    utils/ConfigParser.h
    utils/CSV.h
    utils/DataPeak.h
    utils/DataTrack.h
    utils/EnumHashSpecialization.h
    utils/FileUtils.h
    utils/GeneralMath.h
    utils/Logger.h
    utils/ScopedMutex.h
    utils/SmartEnum.h
    utils/TimingProfile.h
    utils/ThreadPool.h
    utils/base64.h
    utils/taskrunner/Task.h
    utils/taskrunner/TaskProcessor.h
    utils/taskrunner/TaskQueue.h
    utils/taskrunner/TaskRunner.h
    utils/testing/SETestCase.h
    utils/testing/SETestErrorStatistics.h
    utils/testing/SETestManager.h
    utils/testing/SETestReport.h
    utils/testing/SETestSuite.h
    utils/unitconversion/CompoundUnit.h
    utils/unitconversion/CompoundUnitElement.h
    utils/unitconversion/PScalar.h
    utils/unitconversion/PrefixDescriptor.h
    utils/unitconversion/QuantityConversionDescriptor.h
    utils/unitconversion/QuantityConversionKey.h
    utils/unitconversion/QuantityTypeDescriptor.h
    utils/unitconversion/SnapValue.h
    utils/unitconversion/UCCommon.h
    utils/unitconversion/UnitConversionEngine.h
    utils/unitconversion/UnitDescriptor.h
    utils/unitconversion/UnitDimension.h
    utils/unitconversion/UnitStringLexer.h
  CPP_FILES
    PhysiologyEngineThunk.cpp
    PhysiologyEnginePool.cpp
    blackbox/SEBlackBox.cpp
    blackbox/SEBlackBoxManager.cpp
    blackbox/electrical/SEElectricalBlackBox.cpp
    blackbox/fluid/SEFluidBlackBox.cpp
    blackbox/fluid/SEGasBlackBox.cpp
    blackbox/fluid/SELiquidBlackBox.cpp
    blackbox/thermal/SEThermalBlackBox.cpp
    circuit/SECircuit.cpp
    circuit/SECircuitCalculator.cpp
    circuit/SECircuitManager.cpp
    circuit/SECircuitNode.cpp
    circuit/SECircuitPath.cpp
    circuit/electrical/SEElectricalCircuit.cpp
    circuit/electrical/SEElectricalCircuitCalculator.cpp
    circuit/electrical/SEElectricalCircuitNode.cpp
    circuit/electrical/SEElectricalCircuitPath.cpp
    circuit/fluid/SEFluidCircuit.cpp
    circuit/fluid/SEFluidCircuitCalculator.cpp
    circuit/fluid/SEFluidCircuitNode.cpp
    circuit/fluid/SEFluidCircuitPath.cpp
    circuit/thermal/SEThermalCircuit.cpp
    circuit/thermal/SEThermalCircuitCalculator.cpp
    circuit/thermal/SEThermalCircuitNode.cpp
    circuit/thermal/SEThermalCircuitPath.cpp
    compartment/SECompartment.cpp
    compartment/SECompartmentGraph.cpp
    compartment/SECompartmentLink.cpp
    compartment/SECompartmentManager.cpp
    compartment/SECompartmentNodes.cpp
    compartment/SECompartmentTransportGraph.cpp
    compartment/electrical/SEElectricalCompartment.cpp
    compartment/electrical/SEElectricalCompartmentLink.cpp
    compartment/fluid/SEFluidCompartment.cpp
    compartment/fluid/SEFluidCompartmentLink.cpp
    compartment/fluid/SEGasCompartment.cpp
    compartment/fluid/SEGasCompartmentGraph.cpp
    compartment/fluid/SEGasCompartmentLink.cpp
    compartment/fluid/SELiquidCompartment.cpp
    compartment/fluid/SELiquidCompartmentGraph.cpp
    compartment/fluid/SELiquidCompartmentLink.cpp
    compartment/substances/SEGasSubstanceQuantity.cpp
    compartment/substances/SELiquidSubstanceQuantity.cpp
    compartment/substances/SESubstanceQuantity.cpp
    compartment/thermal/SEThermalCompartment.cpp
    compartment/thermal/SEThermalCompartmentLink.cpp
    compartment/tissue/SETissueCompartment.cpp
    engine/SEAction.cpp
    engine/SEActionManager.cpp
    engine/SEAdvanceTime.cpp
    engine/SECondition.cpp
    engine/SEConditionManager.cpp
    engine/SEDataRequest.cpp
    engine/SEDataRequested.cpp
    engine/SEDataRequestManager.cpp
    engine/SEDecimalFormat.cpp
    engine/SEDynamicStabilization.cpp
    engine/SEDynamicStabilizationEngineConvergence.cpp
    engine/SEDynamicStabilizationLedger.cpp
    engine/SEDynamicStabilizationPropertyConvergence.cpp
    engine/SEEngineInitialization.cpp
    engine/SEEngineStabilization.cpp
    engine/SEEngineTracker.cpp
    engine/SEEnvironmentActionCollection.cpp
    engine/SEEquipmentActionCollection.cpp
    engine/SEEventManager.cpp
    engine/SEOverrides.cpp
    engine/SEPatientActionCollection.cpp
    engine/SEPatientConfiguration.cpp
    engine/SESerializeState.cpp
    engine/SETimedStabilization.cpp
    engine/SEValidationTarget.cpp
    io/protobuf/PBActionEnums.cpp
    io/protobuf/PBActions.cpp
    io/protobuf/PBAnesthesiaMachine.cpp
    io/protobuf/PBAnesthesiaMachineEnums.cpp
    io/protobuf/PBBagValveMask.cpp
    io/protobuf/PBBagValveMaskEnums.cpp
    io/protobuf/PBBlackBox.cpp
    io/protobuf/PBCircuit.cpp
    io/protobuf/PBCompartment.cpp
    io/protobuf/PBCompartmentEnums.cpp
    io/protobuf/PBConditions.cpp
    io/protobuf/PBElectroCardioGram.cpp
    io/protobuf/PBElectroCardioGramEnums.cpp
    io/protobuf/PBEngine.cpp
    io/protobuf/PBEngineEnums.cpp
    io/protobuf/PBEnums.cpp
    io/protobuf/PBEnvironment.cpp
    io/protobuf/PBEnvironmentActions.cpp
    io/protobuf/PBEnvironmentConditions.cpp
    io/protobuf/PBEnvironmentEnums.cpp
    io/protobuf/PBEquipmentActions.cpp
    io/protobuf/PBEvents.cpp
    io/protobuf/PBInhaler.cpp
    io/protobuf/PBMechanicalVentilator.cpp
    io/protobuf/PBMechanicalVentilatorEnums.cpp
    io/protobuf/PBPatient.cpp
    io/protobuf/PBPatientActionEnums.cpp
    io/protobuf/PBPatientActions.cpp
    io/protobuf/PBPatientAssessmentEnums.cpp
    io/protobuf/PBPatientAssessments.cpp
    io/protobuf/PBPatientConditions.cpp
    io/protobuf/PBPatientEnums.cpp
    io/protobuf/PBPatientNutrition.cpp
    io/protobuf/PBPhysiology.cpp
    io/protobuf/PBPhysiologyEnums.cpp
    io/protobuf/PBProperties.cpp
    io/protobuf/PBScenario.cpp
    io/protobuf/PBSubstance.cpp
    io/protobuf/PBSubstanceEnums.cpp
    io/protobuf/PBSubstanceQuantity.cpp
    io/protobuf/PBTestReport.cpp
    io/protobuf/PBUtils.cpp
    patient/SEMeal.cpp
    patient/SENutrition.cpp
    patient/SEPatient.cpp
    patient/actions/SEAcuteRespiratoryDistressSyndromeExacerbation.cpp
    patient/actions/SEAcuteStress.cpp
    patient/actions/SEAirwayObstruction.cpp
    patient/actions/SEArrhythmia.cpp
    patient/actions/SEAsthmaAttack.cpp
    patient/actions/SEBrainInjury.cpp
    patient/actions/SEBronchoconstriction.cpp
    patient/actions/SEChestCompressionForce.cpp
    patient/actions/SEChestCompressionForceScale.cpp
    patient/actions/SEChestOcclusiveDressing.cpp
    patient/actions/SEChronicObstructivePulmonaryDiseaseExacerbation.cpp
    patient/actions/SEConsciousRespiration.cpp
    patient/actions/SEConsciousRespirationCommand.cpp
    patient/actions/SEConsumeNutrients.cpp
    patient/actions/SEDyspnea.cpp
    patient/actions/SEExercise.cpp
    patient/actions/SEForcedExhale.cpp
    patient/actions/SEForcedInhale.cpp
    patient/actions/SEForcedPause.cpp
    patient/actions/SEHemorrhage.cpp
    patient/actions/SEImpairedAlveolarExchangeExacerbation.cpp
    patient/actions/SEIntubation.cpp
    patient/actions/SELobarPneumoniaExacerbation.cpp
    patient/actions/SEMechanicalVentilation.cpp
    patient/actions/SENeedleDecompression.cpp
    patient/actions/SEPatientAction.cpp
    patient/actions/SEPatientAssessmentRequest.cpp
    patient/actions/SEPericardialEffusion.cpp
    patient/actions/SEPulmonaryShuntExacerbation.cpp
    patient/actions/SERespiratoryFatigue.cpp
    patient/actions/SERespiratoryMechanicsConfiguration.cpp
    patient/actions/SESubstanceAdministration.cpp
    patient/actions/SESubstanceBolus.cpp
    patient/actions/SESubstanceCompoundInfusion.cpp
    patient/actions/SESubstanceInfusion.cpp
    patient/actions/SESupplementalOxygen.cpp
    patient/actions/SETensionPneumothorax.cpp
    patient/actions/SEUrinate.cpp
    patient/actions/SEUseInhaler.cpp
    patient/assessments/SEArterialBloodGasTest.cpp
    patient/assessments/SECompleteBloodCount.cpp
    patient/assessments/SEComprehensiveMetabolicPanel.cpp
    patient/assessments/SEPatientAssessment.cpp
    patient/assessments/SEPulmonaryFunctionTest.cpp
    patient/assessments/SEUrinalysis.cpp
    patient/assessments/SEUrinalysisMicroscopic.cpp
    patient/conditions/SEAcuteRespiratoryDistressSyndrome.cpp
    patient/conditions/SEChronicAnemia.cpp
    patient/conditions/SEChronicObstructivePulmonaryDisease.cpp
    patient/conditions/SEChronicPericardialEffusion.cpp
    patient/conditions/SEChronicRenalStenosis.cpp
    patient/conditions/SEChronicVentricularSystolicDysfunction.cpp
    patient/conditions/SEConsumeMeal.cpp
    patient/conditions/SEImpairedAlveolarExchange.cpp
    patient/conditions/SELobarPneumonia.cpp
    patient/conditions/SEPatientCondition.cpp
    patient/conditions/SEPulmonaryFibrosis.cpp
    patient/conditions/SEPulmonaryShunt.cpp
    patient/conditions/SESepsis.cpp
    properties/SEArray.cpp
    properties/SEArrayElectricPotential.cpp
    #properties/SEArrayPressure.cpp
    #properties/SEArrayVolume.cpp
    #properties/SEArrayVolumePerTime.cppcpp
    properties/SECurve.cpp
    properties/SEFunction.cpp
    properties/SEFunctionElectricPotentialVsTime.cpp
    properties/SEFunctionVolumeVsTime.cpp
    properties/SEHistogram.cpp
    properties/SEHistogramFractionVsLength.cpp
    properties/SEProperty.cpp
    properties/SERunningAverage.cpp
    properties/SESegment.cpp
    properties/SESegmentConstant.cpp
    properties/SESegmentLinear.cpp
    properties/SESegmentParabolic.cpp
    properties/SESegmentSigmoidal.cpp
    properties/SEScalar.cpp
    properties/SEScalar0To1.cpp
    properties/SEScalarAmount.cpp
    properties/SEScalarAmountPerMass.cpp
    properties/SEScalarAmountPerTime.cpp
    properties/SEScalarAmountPerVolume.cpp
    properties/SEScalarArea.cpp
    properties/SEScalarAreaPerTimePressure.cpp
    properties/SEScalarElectricCapacitance.cpp
    properties/SEScalarElectricCharge.cpp
    properties/SEScalarElectricCurrent.cpp
    properties/SEScalarElectricInductance.cpp
    properties/SEScalarElectricPotential.cpp
    properties/SEScalarElectricResistance.cpp
    properties/SEScalarEnergy.cpp
    properties/SEScalarEnergyPerAmount.cpp
    properties/SEScalarEnergyPerMass.cpp
    properties/SEScalarEquivalentWeightPerVolume.cpp
    properties/SEScalarForce.cpp
    properties/SEScalarFrequency.cpp
    properties/SEScalarHeatCapacitance.cpp
    properties/SEScalarHeatCapacitancePerAmount.cpp
    properties/SEScalarHeatCapacitancePerMass.cpp
    properties/SEScalarHeatConductance.cpp
    properties/SEScalarHeatConductancePerArea.cpp
    properties/SEScalarHeatInductance.cpp
    properties/SEScalarHeatResistance.cpp
    properties/SEScalarHeatResistanceArea.cpp
    properties/SEScalarInversePressure.cpp
    properties/SEScalarInverseVolume.cpp
    properties/SEScalarLength.cpp
    properties/SEScalarLengthPerTime.cpp
    properties/SEScalarLengthPerTimePressure.cpp
    properties/SEScalarMass.cpp
    properties/SEScalarMassPerAmount.cpp
    properties/SEScalarMassPerAreaTime.cpp
    properties/SEScalarMassPerMass.cpp
    properties/SEScalarMassPerTime.cpp
    properties/SEScalarMassPerVolume.cpp
    properties/SEScalarNegative1To1.cpp
    properties/SEScalarOsmolality.cpp
    properties/SEScalarOsmolarity.cpp
    properties/SEScalarPower.cpp
    properties/SEScalarPowerPerAreaTemperatureToTheFourth.cpp
    properties/SEScalarPressure.cpp
    properties/SEScalarPressurePerVolume.cpp
    properties/SEScalarPressureTimePerArea.cpp
    properties/SEScalarPressureTimePerVolume.cpp
    properties/SEScalarPressureTimePerVolumeArea.cpp
    properties/SEScalarPressureTimeSquaredPerVolume.cpp
    properties/SEScalarTemperature.cpp
    properties/SEScalarTime.cpp
    properties/SEScalarVolume.cpp
    properties/SEScalarVolumePerPressure.cpp
    properties/SEScalarVolumePerTime.cpp
    properties/SEScalarVolumePerTimeArea.cpp
    properties/SEScalarVolumePerTimeMass.cpp
    properties/SEScalarVolumePerTimePressure.cpp
    properties/SEScalarVolumePerTimePressureArea.cpp
    scenario/SEScenario.cpp
    scenario/SEScenarioExec.cpp
    substance/SESubstance.cpp
    substance/SESubstanceAerosolization.cpp
    substance/SESubstanceClearance.cpp
    substance/SESubstanceCompound.cpp
    substance/SESubstanceConcentration.cpp
    substance/SESubstanceFraction.cpp
    substance/SESubstanceManager.cpp
    substance/SESubstancePharmacodynamics.cpp
    substance/SESubstancePharmacokinetics.cpp
    substance/SESubstancePhysicochemicals.cpp
    substance/SESubstanceTissuePharmacokinetics.cpp
    substance/SESubstanceTransport.cpp
    system/SESystem.cpp
    system/environment/SEActiveConditioning.cpp
    system/environment/SEAppliedTemperature.cpp
    system/environment/SEEnvironment.cpp
    system/environment/SEEnvironmentalConditions.cpp
    system/environment/actions/SEChangeEnvironmentalConditions.cpp
    system/environment/actions/SEEnvironmentAction.cpp
    system/environment/actions/SEThermalApplication.cpp
    system/environment/conditions/SEEnvironmentCondition.cpp
    system/environment/conditions/SEInitialEnvironmentalConditions.cpp
    system/equipment/SEEquipment.cpp
    system/equipment/SEEquipmentAction.cpp
    system/equipment/anesthesia_machine/SEAnesthesiaMachine.cpp
    system/equipment/anesthesia_machine/SEAnesthesiaMachineChamber.cpp
    system/equipment/anesthesia_machine/SEAnesthesiaMachineOxygenBottle.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineAction.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineConfiguration.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineExpiratoryValveLeak.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineExpiratoryValveObstruction.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineInspiratoryValveLeak.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineInspiratoryValveObstruction.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineMaskLeak.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineOxygenTankPressureLoss.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineOxygenWallPortPressureLoss.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineSodaLimeFailure.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineTubeCuffLeak.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineVaporizerFailure.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineVentilatorPressureLoss.cpp
    system/equipment/anesthesia_machine/actions/SEAnesthesiaMachineYPieceDisconnect.cpp
    system/equipment/bag_valve_mask/SEBagValveMask.cpp
    system/equipment/bag_valve_mask/actions/SEBagValveMaskAction.cpp
    system/equipment/bag_valve_mask/actions/SEBagValveMaskAutomated.cpp
    system/equipment/bag_valve_mask/actions/SEBagValveMaskConfiguration.cpp
    system/equipment/bag_valve_mask/actions/SEBagValveMaskInstantaneous.cpp
    system/equipment/bag_valve_mask/actions/SEBagValveMaskSqueeze.cpp
    system/equipment/electrocardiogram/SEElectroCardioGram.cpp
    system/equipment/electrocardiogram/SEElectroCardioGramWaveform.cpp
    system/equipment/inhaler/SEInhaler.cpp
    system/equipment/inhaler/actions/SEInhalerAction.cpp
    system/equipment/inhaler/actions/SEInhalerConfiguration.cpp
    system/equipment/mechanical_ventilator/SEMechanicalVentilator.cpp
    system/equipment/mechanical_ventilator/SEMechanicalVentilatorSettings.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorAction.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorConfiguration.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorContinuousPositiveAirwayPressure.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorHold.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorLeak.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorMode.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorPressureControl.cpp
    system/equipment/mechanical_ventilator/actions/SEMechanicalVentilatorVolumeControl.cpp
    system/physiology/SEBloodChemistrySystem.cpp
    system/physiology/SECardiovascularSystem.cpp
    system/physiology/SEDrugSystem.cpp
    system/physiology/SEEndocrineSystem.cpp
    system/physiology/SEEnergySystem.cpp
    system/physiology/SEGastrointestinalSystem.cpp
    system/physiology/SEHepaticSystem.cpp
    system/physiology/SENervousSystem.cpp
    system/physiology/SEPupillaryResponse.cpp
    system/physiology/SERenalSystem.cpp
    system/physiology/SERespiratoryMechanics.cpp
    system/physiology/SERespiratorySystem.cpp
    system/physiology/SETissueSystem.cpp
    utils/ConfigParser.cpp
    utils/CSV.cpp
    utils/DataPeak.cpp
    utils/DataTrack.cpp
    utils/FileUtils.cpp
    utils/GeneralMath.cpp
    utils/Logger.cpp
    utils/ScopedMutex.cpp
    utils/SimpleLogger.cpp
    utils/TimingProfile.cpp
    utils/base64.cpp
    utils/taskrunner/TaskProcessor.cpp
    utils/taskrunner/TaskRunner.cpp
    utils/testing/SETestCase.cpp
    utils/testing/SETestErrorStatistics.cpp
    utils/testing/SETestReport.cpp
    utils/testing/SETestSuite.cpp
    utils/unitconversion/CompoundUnit.cpp
    utils/unitconversion/CompoundUnitElement.cpp
    utils/unitconversion/PScalar.cpp
    utils/unitconversion/PrefixDescriptor.cpp
    utils/unitconversion/QuantityConversionDescriptor.cpp
    utils/unitconversion/QuantityConversionKey.cpp
    utils/unitconversion/QuantityTypeDescriptor.cpp
    utils/unitconversion/UCEDefs.cpp
    utils/unitconversion/UnitConversionEngine.cpp
    utils/unitconversion/UnitDescriptor.cpp
    utils/unitconversion/UnitDimension.cpp
    utils/unitconversion/UnitStringLexer.cpp
  PUBLIC_DEPENDS
    DataModelBindings
  PRIVATE_DEPENDS
    protobuf::libprotobuf
    ${filesystem}
  INSTALL_HEADER_DIR
    cdm
)
target_include_directories(CommonDataModel PRIVATE ${EIGEN3_INCLUDE_DIR})

add_subdirectory(test)
