cmake_minimum_required(VERSION 3.8)
project(calibration_workshop_orchestration_interfaces)

if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
  add_compile_options(-Wall -Wextra -Wpedantic)
endif()

find_package(ament_cmake REQUIRED)
find_package(rosidl_default_generators REQUIRED)
find_package(action_msgs REQUIRED)
find_package(calibration_common_interfaces REQUIRED)
find_package(calibration_vehicle_profile_interfaces REQUIRED)

set(msg_files
  "msg/WorkshopSessionState.msg"
  "msg/StageExecutionPolicy.msg"
  "msg/ApprovalState.msg"
  "msg/ManualActionType.msg"
  "msg/WorkshopEventType.msg"
  "msg/WorkshopOperatorInfo.msg"
  "msg/RequestedCalibrationTask.msg"
  "msg/WorkshopSessionConfig.msg"
  "msg/StagePlan.msg"
  "msg/ExecutionPlanValidationIssue.msg"
  "msg/WorkshopSession.msg"
  "msg/CreateWorkshopSessionRequest.msg"
  "msg/CreateWorkshopSessionResponse.msg"
  "msg/WorkshopSessionQuery.msg"
  "msg/WorkshopSessionResponse.msg"
  "msg/BuildExecutionPlanRequest.msg"
  "msg/RebuildExecutionPlanRequest.msg"
  "msg/BuildExecutionPlanResponse.msg"
  "msg/ValidateExecutionPlanRequest.msg"
  "msg/ValidateExecutionPlanResponse.msg"
  "msg/RunWorkshopPrecheckRequest.msg"
  "msg/PrecheckItem.msg"
  "msg/WorkshopPrecheckResponse.msg"
  "msg/StartWorkshopSessionRequest.msg"
  "msg/PauseWorkshopSessionRequest.msg"
  "msg/ResumeWorkshopSessionRequest.msg"
  "msg/CancelWorkshopSessionRequest.msg"
  "msg/WorkshopEvent.msg"
  "msg/ManualStepAckRequest.msg"
  "msg/ApproveStageResultRequest.msg"
  "msg/RollbackStageParametersRequest.msg"
  "msg/StageResultSummary.msg"
  "msg/WorkshopReport.msg"
  "msg/WorkshopReportResponse.msg"
)

set(srv_files
  "srv/Heartbeat.srv"
  "srv/CreateWorkshopSession.srv"
  "srv/GetWorkshopSession.srv"
  "srv/BuildExecutionPlan.srv"
  "srv/RebuildExecutionPlan.srv"
  "srv/ValidateExecutionPlan.srv"
  "srv/RunWorkshopPrecheck.srv"
  "srv/GetLastWorkshopPrecheckResult.srv"
  "srv/StartWorkshopSession.srv"
  "srv/GetWorkshopJobStatus.srv"
  "srv/PauseWorkshopSession.srv"
  "srv/ResumeWorkshopSession.srv"
  "srv/CancelWorkshopSession.srv"
  "srv/StreamWorkshopEvent.srv"
  "srv/AcknowledgeManualStep.srv"
  "srv/ApproveStageResult.srv"
  "srv/RollbackStageParameters.srv"
  "srv/GetWorkshopReport.srv"
)

set(action_files
  "action/RunWorkshopPrecheck.action"
  "action/ExecuteWorkshopSession.action"
)

rosidl_generate_interfaces(${PROJECT_NAME}
  ${msg_files}
  ${srv_files}
  ${action_files}
  DEPENDENCIES action_msgs calibration_common_interfaces calibration_vehicle_profile_interfaces
)

ament_export_dependencies(rosidl_default_runtime)
ament_package()
