
add_library_ex(CommonPulseModels
  H_FILES
    CommonModels.h
    Configuration.h
    Engine.h
    controller/BlackBoxManager.h
    controller/CircuitManager.h
    controller/CompartmentManager.h
    controller/Controller.h
    controller/SubstanceManager.h
    io/protobuf/PBConfiguration.h
    io/protobuf/PBEnvironment.h
    io/protobuf/PBEquipment.h
    io/protobuf/PBPhysiology.h
    io/protobuf/PBScenario.h
    io/protobuf/PBState.h
    scenario/Scenario.h
    scenario/ScenarioExec.h
    system/Model.h
    system/environment/EnvironmentSystem.h
    system/environment/EnvironmentModel.h
    system/equipment/AnesthesiaMachineSystem.h
    system/equipment/AnesthesiaMachineModel.h
    system/equipment/BagValveMaskSystem.h
    system/equipment/BagValveMaskModel.h
    system/equipment/ElectroCardioGramSystem.h
    system/equipment/ElectroCardioGramModel.h
    system/equipment/InhalerSystem.h
    system/equipment/InhalerModel.h
    system/equipment/MechanicalVentilatorSystem.h
    system/equipment/MechanicalVentilatorModel.h
    system/physiology/BloodChemistryModel.h
    system/physiology/BloodChemistrySystem.h
    system/physiology/CardiovascularModel.h
    system/physiology/CardiovascularSystem.h
    system/physiology/DrugModel.h
    system/physiology/DrugSystem.h
    system/physiology/EndocrineModel.h
    system/physiology/EndocrineSystem.h
    system/physiology/EnergyModel.h
    system/physiology/EnergySystem.h
    system/physiology/GastrointestinalModel.h
    system/physiology/GastrointestinalSystem.h
    system/physiology/HepaticModel.h
    system/physiology/HepaticSystem.h
    system/physiology/NervousModel.h
    system/physiology/NervousSystem.h
    system/physiology/RenalModel.h
    system/physiology/RenalSystem.h
    system/physiology/RespiratoryModel.h
    system/physiology/RespiratorySystem.h
    system/physiology/Saturation.h
    system/physiology/TissueSystem.h
    system/physiology/TissueModel.h
  CPP_FILES
    Configuration.cpp
    Engine.cpp
    controller/BlackBoxManager.cpp
    controller/CircuitManager.cpp
    controller/CompartmentManager.cpp
    controller/Controller.cpp
    controller/SetupCircuitsAndCompartments.cpp
    controller/SubstanceManager.cpp
    io/protobuf/PBConfiguration.cpp
    io/protobuf/PBEnums.cpp
    io/protobuf/PBEnvironment.cpp
    io/protobuf/PBEquipment.cpp
    io/protobuf/PBPhysiology.cpp
    io/protobuf/PBScenario.cpp
    io/protobuf/PBState.cpp
    scenario/Scenario.cpp
    scenario/ScenarioExec.cpp
    system/environment/EnvironmentModel.cpp
    system/equipment/AnesthesiaMachineModel.cpp
    system/equipment/BagValveMaskModel.cpp
    system/equipment/ElectroCardioGramModel.cpp
    system/equipment/InhalerModel.cpp
    system/equipment/MechanicalVentilatorModel.cpp
    system/physiology/BloodChemistryModel.cpp
    system/physiology/CardiovascularModel.cpp
    system/physiology/DrugModel.cpp
    system/physiology/EndocrineModel.cpp
    system/physiology/EnergyModel.cpp
    system/physiology/GastrointestinalModel.cpp
    system/physiology/HepaticModel.cpp
    system/physiology/NervousModel.cpp
    system/physiology/RenalModel.cpp
    system/physiology/RespiratoryModel.cpp
    system/physiology/Saturation.cpp
    system/physiology/TissueModel.cpp
  PUBLIC_DEPENDS
    CommonDataModel
  PRIVATE_DEPENDS
    protobuf::libprotobuf
)
target_include_directories(CommonPulseModels PRIVATE ${EIGEN3_INCLUDE_DIR})
