mirror of
https://github.com/springzfx/cgproxy.git
synced 2026-01-07 13:07:56 +08:00
22 lines
818 B
CMake
22 lines
818 B
CMake
find_library(LIBBPF bpf REQUIRED)
|
|
|
|
# generate execsnoop.skel.h
|
|
if (EXISTS /sys/kernel/btf/vmlinux)
|
|
add_custom_command(OUTPUT execsnoop.skel.h
|
|
COMMAND bpftool btf dump file /sys/kernel/btf/vmlinux format c > vmlinux.h
|
|
COMMAND clang -O2 -g -target bpf -c execsnoop.bpf.c -o execsnoop.bpf.o
|
|
COMMAND bpftool gen skeleton execsnoop.bpf.o > execsnoop.skel.h
|
|
DEPENDS execsnoop.bpf.c
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
|
)
|
|
endif()
|
|
|
|
if (build_execsnoop_dl)
|
|
add_library(execsnoop MODULE execsnoop_share.cpp execsnoop.skel.h)
|
|
target_link_libraries(execsnoop PRIVATE ${LIBBPF})
|
|
install(TARGETS execsnoop DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/cgproxy/)
|
|
else()
|
|
add_library(execsnoop execsnoop_share.cpp execsnoop.skel.h)
|
|
target_link_libraries(execsnoop PRIVATE ${LIBBPF})
|
|
endif()
|