添加 CMakeList.txt
This commit is contained in:
parent
cde7befca3
commit
c58aa32ca6
52
CMakeList.txt
Normal file
52
CMakeList.txt
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
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)
|
Loading…
x
Reference in New Issue
Block a user