first attempt to compile

This commit is contained in:
2026-06-23 07:44:55 +02:00
parent 8241ad8929
commit e7da538abe
3 changed files with 36 additions and 27 deletions
+12 -27
View File
@@ -2,8 +2,6 @@ cmake_minimum_required(VERSION 3.03)
project(generic VERSION 1.0)
add_subdirectory(submodule/mepicsca)
add_compile_options(
-Wall
-Wformat=2
@@ -18,19 +16,9 @@ add_compile_options(
if (NOT DEFINED ENV{MIDASSYS})
message(SEND_ERROR "MIDASSYS environment variable not defined.")
endif()
if (NOT DEFINED ENV{EPICSSYS})
message(SEND_ERROR "EPICSSYS environment variable not defined.")
endif()
set(CMAKE_CXX_STANDARD 17)
set(MIDASSYS $ENV{MIDASSYS})
set(EPICSSYS $ENV{EPICSSYS})
# Select the correct EPICS library depending on the OS (currently Linus is available)
if (${CMAKE_SYSTEM_NAME} MATCHES Linux)
link_directories(${EPICSSYS}/lib/linux-x86_64)
set(LIBS ${LIBS} -lpthread -lutil -lrt -lbsd -ldl)
endif()
find_package(Midas REQUIRED)
@@ -39,28 +27,26 @@ find_package(Midas REQUIRED)
################################################################################
add_library(
epics_bridge
src/device/epics_bridge.cpp
src/utils/epics_pipe.cpp
itcPressureOptimizer
src/device/itc_pressure_optimizer.cpp
)
set_property(
TARGET
epics_bridge
itcPressureOptimizer
PROPERTY
CXX_STANDARD 17
)
target_link_libraries(
epics_bridge
itcPressureOptimizer
PRIVATE
midas::mfe
m_epics_ca
${LIBS}
)
target_include_directories(
epics_bridge
itcPressureOptimizer
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
@@ -74,19 +60,19 @@ target_include_directories(
## Frontend
################################################################################
add_executable(epics_bridge_scfe
src/frontend/epics_bridge_scfe.cpp
add_executable(itcPressureOptimizerScfe
src/frontend/itc_pressure_optimizer_scfe.cpp
)
set_property(
TARGET
epics_bridge_scfe
itcPressureOptimizerScfe
PROPERTY
CXX_STANDARD 17
)
target_include_directories(
epics_bridge_scfe
itcPressureOptimizerScfe
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE
@@ -97,16 +83,15 @@ target_include_directories(
)
target_link_libraries(
epics_bridge_scfe
itcPressureOptimizerScfe
PRIVATE
epics_bridge
itcPressureOptimizer
midas::mfe
m_epics_ca
${LIBS}
)
# Install the executable
install(
TARGETS epics_bridge_scfe
TARGETS itcPressureOptimizerScfe
RUNTIME DESTINATION bin
)
@@ -0,0 +1,12 @@
#include "itc_pressure_optimizer_scfe.h"
#include "../device/itc_pressure_optimizer.h"
#include "tmfe.h"
#include <string>
itcPressureOptimizerScfe::itcPressureOptimizerScfe(std::string frontendName,
std::string equipmentName)
: TMFrontend() {
FeSetName(frontendName.c_str());
FeAddEquipment(new itcPressureOptimizer(equipmentName, __FILE__));
}
@@ -0,0 +1,12 @@
#ifndef ITC_PRESSURE_OPTIMIZER_SCFE_H
#define ITC_PRESSURE_OPTIMIZER_SCFE_H
#include "tmfe.h"
class itcPressureOptimizerScfe : public TMFrontend {
public:
itcPressureOptimizerScfe(std::string frontendName,
std::string equipmentName);
}
#endif