52 lines
1.5 KiB
Plaintext
52 lines
1.5 KiB
Plaintext
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) |