Files
HC900-Crawler/industrial-comm/cpp/CMakeLists.txt
windpacer 16fc7a2598 Initial commit: HC900 Crawler
Honeywell HC900을 Modbus TCP로 직접 폴링 → gRPC → C# 크롤러 → PostgreSQL.
기존 Experion OPC UA 데이터 경로를 HC900 직접 통신으로 대체.

- industrial-comm/cpp: C++ Modbus 게이트웨이 (gRPC 서버)
- src: C# .NET 8 ASP.NET Core 크롤러 + 웹 UI (3-Layer)
- mcp-server: Python FastMCP (RAG/NL2SQL/P&ID)
- 다중 컨트롤러(N-Controller) 지원

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-03 20:28:14 +09:00

97 lines
2.0 KiB
CMake

cmake_minimum_required(VERSION 3.20)
project(comm_core)
add_library(comm_core SHARED)
target_sources(comm_core
PRIVATE
src/controller.cpp
src/codec.cpp
)
target_include_directories(comm_core
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_compile_options(comm_core
PRIVATE
-Wall -Wextra -Wpedantic
)
# ─── HC900 Gateway ───
set(GRPC_DIR /tmp/grpc_local)
set(ABSL_DIR /tmp/absl_local)
set(PROTO_GEN_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gen)
add_executable(hc900_gateway)
target_sources(hc900_gateway
PRIVATE
src/gateway.cpp
src/modbus_tcp.cpp
${PROTO_GEN_DIR}/modbus_gateway.pb.cc
${PROTO_GEN_DIR}/modbus_gateway.grpc.pb.cc
)
target_include_directories(hc900_gateway
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}/include
${PROTO_GEN_DIR}
${GRPC_DIR}/usr/include
${ABSL_DIR}/usr/include
)
target_link_directories(hc900_gateway
PRIVATE
${GRPC_DIR}/usr/lib/aarch64-linux-gnu
${ABSL_DIR}/usr/lib/aarch64-linux-gnu
/usr/lib/aarch64-linux-gnu
/lib/aarch64-linux-gnu
)
target_link_libraries(hc900_gateway
PRIVATE
comm_core
grpc++
grpc
gpr
upb
address_sorting
protobuf
absl_synchronization
absl_status
absl_cord
absl_cord_internal
absl_cordz_info
absl_cordz_handle
absl_cordz_functions
absl_cordz_sample_token
absl_hashtablez_sampler
absl_exponential_biased
absl_raw_hash_set
absl_hash
absl_city
absl_low_level_hash
absl_int128
absl_raw_logging_internal
absl_log_severity
absl_spinlock_wait
absl_malloc_internal
absl_throw_delegate
absl_time
absl_time_zone
absl_strings
absl_strings_internal
absl_base
pthread
rt
dl
)
target_compile_options(hc900_gateway
PRIVATE
-Wall -Wextra -Wpedantic
)