#--------------------------------------------------------
# The CMakeLists.txt for:  pELoad
# 电子负载（IT6000C 双向电源）控制程序：
#   以太网 SCPI 直连 <-> 100ms 功率控制 <- MOOSDB 功率消息
#   网页人机交互 + sqlite3 数据存储
#--------------------------------------------------------

if (${WIN32})
  SET(SYSTEM_LIBS wsock32)
else (${WIN32})
  SET(SYSTEM_LIBS m pthread)
endif (${WIN32})

# 复用仓库内 pPowerManger 的公共源码（相对路径引用，避免重复维护）
SET(PM_DIR ${CMAKE_CURRENT_SOURCE_DIR}/../pPowerManger)

SET(SHARED_SRC
  ${PM_DIR}/logc/loguru.cpp
  ${PM_DIR}/sqlit3/sqlite3.c
  ${PM_DIR}/httpserver/mongoose.c
)

SET(ELOAD_DRIVER_SRC
  driver/ScpiClient.cpp
  driver/IT6000C.cpp
)

SET(ELOAD_STORE_SRC
  store/DbStore.cpp
)

SET(ELOAD_WEB_SRC
  web/WebServer.cpp
)

SET(SRC
  ${SHARED_SRC}
  ${ELOAD_DRIVER_SRC}
  ${ELOAD_STORE_SRC}
  ${ELOAD_WEB_SRC}
  ELoad.cpp
  ELoad_Info.cpp
  main.cpp
)

ADD_EXECUTABLE(pELoad ${SRC})

TARGET_INCLUDE_DIRECTORIES(pELoad PRIVATE
  ${PM_DIR}
  ${PM_DIR}/sqlit3
  ${PM_DIR}/httpserver
  ${PM_DIR}/logc
)

TARGET_LINK_LIBRARIES(pELoad
  ${MOOS_LIBRARIES}
  apputil
  mbutil
  m
  pthread
  jsoncpp
  dl
  ${SYSTEM_LIBS}
)
