cmake_minimum_required(VERSION 3.18) project(opcua_exporter) cmake_policy(SET CMP0148 OLD) set(CMAKE_CXX_STANDARD 20) option(ENABLE_METRICS_SIMULATE "开启测点故障仿真功能" ON) find_package(civetweb CONFIG REQUIRED) find_package(spdlog CONFIG REQUIRED) find_package(prometheus-cpp CONFIG REQUIRED) find_package(open62541 CONFIG REQUIRED) find_package(yaml-cpp CONFIG REQUIRED) find_package(nlohmann_json CONFIG REQUIRED) add_subdirectory(fault-simulation-algorithm) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) set( OPC_UA_EXPORTER_SRCS main.cpp client/client.cpp client/client.h collector/collector.cpp collector/collector.h ) add_executable( opcua_exporter ${OPC_UA_EXPORTER_SRCS} ) target_compile_definitions( opcua_exporter PRIVATE ${CMAKE_BUILD_TYPE} ) if (${ENABLE_METRICS_SIMULATE}) target_compile_definitions( opcua_exporter PRIVATE METRICS_SIMULATE ) endif () target_link_libraries( opcua_exporter simulation-manager spdlog::spdlog yaml-cpp::yaml-cpp nlohmann_json::nlohmann_json open62541::open62541 civetweb::civetweb prometheus-cpp::core prometheus-cpp::pull )