####################################################################################################################### # set_control_system_adapter.cmake # # Set the ControlSystemAdapter for a ApplicationCore server # # Expects the following input variable: # ADAPTER - String specifiing the adapter, either DOOCS, OPCUA or EPICSIOC # # This macro will add the selected adapter as a dependency and set the following variables: # # Adapter_LINK_FLAGS - Link flags provided by the adapter library # Adapter_LIBRARIES - Libraries that are dependencies of the adapter # ####################################################################################################################### ####################################################################################################################### # # IMPORTANT NOTE: # # DO NOT MODIFY THIS FILE inside a project. Instead update the project-template repository and pull the change from # there. Make sure to keep the file generic, since it will be used by other projects, too. # # If you have modified this file inside a project despite this warning, make sure to cherry-pick all your changes # into the project-template repository immediately. # ####################################################################################################################### # Select control system adapter IF(ADAPTER STREQUAL "OPCUA") message("Building against the OPC UA ControlSystemAdater") add_dependency(ChimeraTK-ControlSystemAdapter-OPCUAAdapter REQUIRED) set(Adapter_LINK_FLAGS ${ChimeraTK-ControlSystemAdapter-OPCUAAdapter_LINK_FLAGS}) set(Adapter_LIBRARIES ${ChimeraTK-ControlSystemAdapter-OPCUAAdapter_LIBRARIES}) ELSEIF(ADAPTER STREQUAL "DOOCS") message("Building against the DOOCS ControlSystemAdater") add_dependency(ChimeraTK-ControlSystemAdapter-DoocsAdapter REQUIRED) set(Adapter_LINK_FLAGS ${ChimeraTK-ControlSystemAdapter-DoocsAdapter_LINK_FLAGS}) set(Adapter_LIBRARIES ${ChimeraTK-ControlSystemAdapter-DoocsAdapter_LIBRARIES}) ELSEIF(ADAPTER STREQUAL "EPICSIOC") message("Building against the EPICS IOC ControlSystemAdater") add_dependency(ChimeraTK-ControlSystemAdapter-EPICS-IOC-Adapter REQUIRED) set(Adapter_LINK_FLAGS ${ChimeraTK-ControlSystemAdapter-EPICS-IOC-Adapter_LINK_FLAGS}) set(Adapter_LIBRARIES ${ChimeraTK-ControlSystemAdapter-EPICS-IOC-Adapter_LIBRARIES}) ELSEIF(ADAPTER STREQUAL "EPICS7IOC") message("Building against the EPICS ver. 7.0 IOC ControlSystemAdater") add_dependency(ChimeraTK-ControlSystemAdapter-EPICS7-IOC-Adapter REQUIRED) set(Adapter_LINK_FLAGS ${ChimeraTK-ControlSystemAdapter-EPICS7-IOC-Adapter_LINK_FLAGS}) set(Adapter_LIBRARIES ${ChimeraTK-ControlSystemAdapter-EPICS7-IOC-Adapter_LIBRARIES}) ELSE() message(FATAL_ERROR "Please select your ControlSystemAdapter to use by passing to the cmake command line:\n" " -DADAPTER=DOOCS to build a DOOCS server\n" " -DADAPTER=OPCUA to build an OPC UA server\n" " -DADAPTER=EPICSIOC to build an EPICS ver. 3.16 IOC\n" " -DADAPTER=EPICS7IOC to build an EPICS ver. 7.0 IOC") ENDIF()