bonus-edge-proxy/CMakeLists.txt

89 lines
2.0 KiB
CMake
Raw Normal View History

2025-09-30 18:34:50 +08:00
cmake_minimum_required(VERSION 3.16)
project(EdgeProxy LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# --- 查找并链接 spdlog ---
find_package(spdlog REQUIRED)
find_package(Boost REQUIRED COMPONENTS system thread)
message(STATUS "Found Boost version: ${Boost_VERSION}")
find_package(PahoMqttCpp REQUIRED)
2025-09-30 18:34:50 +08:00
add_library(nlohmann_json INTERFACE)
target_include_directories(nlohmann_json INTERFACE
${CMAKE_CURRENT_SOURCE_DIR}/src/vendor
2025-09-30 18:34:50 +08:00
)
2025-10-13 13:55:15 +08:00
add_library(edge_proxy_lib STATIC
2025-10-13 16:39:46 +08:00
# TCP通讯层
2025-10-11 18:24:56 +08:00
src/network/tcp_server.cc
2025-10-13 13:55:15 +08:00
# 小工具
src/utils/mqtt_topic_matcher.cpp
# --- MQTT 核心模块 ---
src/mqtt/mqtt_client.cpp
src/mqtt/mqtt_router.cpp
src/mqtt/handler/data_handler.cpp
src/mqtt/handler/command_handler.cpp
2025-10-13 16:39:46 +08:00
2025-10-13 13:55:15 +08:00
# --- 协议层 ---
src/protocol/protocol.cc
2025-10-14 14:30:52 +08:00
src/protocol/private_protocol_adapter.cc
src/protocol/protocol_factory.cc
2025-10-11 18:24:56 +08:00
2025-10-14 11:18:01 +08:00
# 系统监视
src/systemMonitor/system_monitor.cc
#modbus
src/modbus/modbus_rtu_client.cc
2025-10-14 16:06:43 +08:00
src/modbus/modbus_rtu_poller_service.cc
src/modbus/generic_modbus_parser.cc
# --- Modbus Master ---
src/protocol/modbus/modbus_protocol.cc
src/modbus/modbus_master_poller.cc
2025-10-13 13:55:15 +08:00
)
target_include_directories(edge_proxy_lib PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/src
2025-10-11 18:24:56 +08:00
)
target_link_libraries(edge_proxy_lib PRIVATE
spdlog::spdlog
Boost::system
Boost::thread
PahoMqttCpp::paho-mqttpp3
pthread
nlohmann_json
)
# =================================================================
2025-10-11 18:24:56 +08:00
# Main Application Target (UNCOMMENTED AND ACTIVATED)
# =================================================================
2025-10-11 18:24:56 +08:00
add_executable(edge_proxy
src/main.cpp
)
2025-10-11 18:24:56 +08:00
target_link_libraries(edge_proxy PRIVATE
edge_proxy_lib
)
2025-10-13 10:34:20 +08:00
# =================#================================================
# 测试目标
# =================================================================
add_executable(test
2025-10-13 13:55:15 +08:00
src/test.cc
2025-10-14 11:18:01 +08:00
)
target_link_libraries(test PRIVATE
2025-10-14 11:18:01 +08:00
edge_proxy_lib
)
2025-10-14 11:18:01 +08:00