57 lines
1.3 KiB
CMake
57 lines
1.3 KiB
CMake
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
|
|
) |