modbus-plugin/CMakeList.txt

52 lines
1.5 KiB
Plaintext
Raw Normal View History

2025-02-18 18:35:43 +08:00
cmake_minimum_required(VERSION 3.0)
project(modbus_plugin)
# 设置编译选项
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_FLAGS "-Wall -fPIC")
# Arkime 安装目录(根据你的实际情况修改)
set(ARKIME_PREFIX /opt/arkime)
# libmodbus 安装目录(指向你手动编译安装的 Libmodbus 目录)
set(LIBMODBUS_PREFIX /path/to/your/static/libmodbus)
# GLib 安装目录
# 方法1 直接指定glibconfig.h所在的目录的上一级
#set(GLIB_INCLUDE_DIR /usr/lib/glib-2.0/include) # 假设 glibconfig.h 在 /usr/lib/glib-2.0/include 目录下
# 方法2 更精确地指定所有需要的GLib头文件目录确保万无一失
include_directories(
/usr/include/glib-2.0
/usr/lib/x86_64-linux-gnu/glib-2.0/include
)
# Jansson 安装目录 (根据你的实际情况修改, 如果需要)
# 可以在 /usr/include 或 /usr/local/include 中尝试
# 如果找不到 jansson.h , 先安装 libjansson-dev
# sudo apt-get install libjansson-dev
set(JANSSON_INCLUDE_DIR /usr/include)
# 包含头文件
include_directories(
${ARKIME_PREFIX}/include
${LIBMODBUS_PREFIX}/include
#${GLIB_INCLUDE_DIR} # 注释掉使用更精确的include目录
${JANSSON_INCLUDE_DIR}
)
# 源文件
set(SOURCE_FILES
src/modbus_plugin.c
)
# 创建共享库
add_library(modbus_plugin SHARED ${SOURCE_FILES})
# 设置链接选项,强制静态链接 libmodbus
target_link_libraries(modbus_plugin
-L${LIBMODBUS_PREFIX}/lib -lmodbus -lm -lglib-2.0 -ljansson
)
# 设置安装目录和目标
install(TARGETS modbus_plugin DESTINATION /opt/arkime/plugins)