From 9b7e558b985a2171212699f6a0ef3837700a9e9e Mon Sep 17 00:00:00 2001 From: xhuacmer Date: Fri, 17 Mar 2023 15:34:49 +0800 Subject: [PATCH] update CMakelist file to build on CTyunOS 23.01 --- CMakeLists.txt | 24 ++++++++++++++ CTinspector.spec.in | 58 +++++++++++++++++++++++++++++++++ ebpf_vm_executor/CMakeLists.txt | 8 +++++ ebpf_vm_test/CMakeLists.txt | 5 ++- 4 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 CTinspector.spec.in diff --git a/CMakeLists.txt b/CMakeLists.txt index 443d3ee..20e7168 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,6 +3,30 @@ cmake_minimum_required(VERSION 3.12.1) project(ebpf_vm) +set(VERSION "1.0.1") +set(RELEASE "1") + +set(BIN_INSTALL_PREFIX "/usr/bin/") +set(INCLUDE_INSTALL_PREFIX "/usr/include/ctinspector") +set(LIB_INSTALL_PREFIX "/usr/lib64/") + + + +set(CPACK_PACKAGE_NAME "ctinspector") +set(CPACK_PACKAGE_VERSION ${VERSION}) +set(CPACK_PACKAGE_RELEASE ${RELEASE}) +set(CPACK_SOURCE_GENERATOR "TBZ2") +set(CPACK_SOURCE_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}) +set(CPACK_SOURCE_IGNORE_FILES "/build/;${CPACK_SOURCE_IGNORE_FILES}") +set(CPACK_SOURCE_IGNORE_FILES "/*.git/;${CPACK_SOURCE_IGNORE_FILES}") +set(CPACK_SOURCE_IGNORE_FILES "/*.md/;${CPACK_SOURCE_IGNORE_FILES}") +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/CTinspector.spec.in" "${CMAKE_CURRENT_BINARY_DIR}/CTinspector.spec" @ONLY IMMEDIATE) +include(CPack) + + + +add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source) + add_compile_options(-g) add_subdirectory (ebpf_vm_executor) add_subdirectory (ebpf_vm_test) diff --git a/CTinspector.spec.in b/CTinspector.spec.in new file mode 100644 index 0000000..0e2b4b6 --- /dev/null +++ b/CTinspector.spec.in @@ -0,0 +1,58 @@ + + +%define rel_version @CPACK_PACKAGE_VERSION@ +%define rel_release @CPACK_PACKAGE_RELEASE@ +%define bin_dir @BIN_INSTALL_PREFIX@ +%define lib_dir @LIB_INSTALL_PREFIX@ +%define header_dir @INCLUDE_INSTALL_PREFIX@ + +Name: ctinspector +Version: %{rel_version} +Release: %{rel_release}%{?dist} +Summary: CTyunOS Inspector +License: GPLv2+ +URL: https://gitee.com/openeuler/CTinspector +Source0: ctinspector-%{rel_version}.tar.bz2 + +BuildRequires: elfutils-devel +BuildRequires: rdma-core-devel +BuildRequires: llvm clang +BuildRequires: libbpf +BuildRequires: cmake make + +%description +Multipule nodes ebpf flow inspector, which is initialed by CTyun. + + +%prep +%autosetup -n ctinspector-%{rel_version} + + +%build +mkdir build +pushd build +cmake .. +make +popd + + +%install +rm -rf $RPM_BUILD_ROOT +cd build +%make_install + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files +%{bin_dir}/* +%{lib_dir}/* +%{header_dir}/* + + + +%changelog +* Thu Mar 16 2023 yangt111@chinatelecom.cn +- Init spec to build on CTyunOS 3. diff --git a/ebpf_vm_executor/CMakeLists.txt b/ebpf_vm_executor/CMakeLists.txt index 40aa1b1..f72202b 100644 --- a/ebpf_vm_executor/CMakeLists.txt +++ b/ebpf_vm_executor/CMakeLists.txt @@ -8,3 +8,11 @@ add_library(ebpf_vm_executor SHARED ) target_link_libraries(ebpf_vm_executor -lpthread -lelf -libverbs) + + +install(TARGETS ebpf_vm_executor DESTINATION ${LIB_INSTALL_PREFIX}) +install(FILES ebpf_vm_functions.h DESTINATION ${INCLUDE_INSTALL_PREFIX}) +install(FILES ebpf_vm_simulator.h DESTINATION ${INCLUDE_INSTALL_PREFIX}) +install(FILES ebpf_vm_transport_rdma.h DESTINATION ${INCLUDE_INSTALL_PREFIX}) +install(FILES list.h DESTINATION ${INCLUDE_INSTALL_PREFIX}) +install(FILES ub_list.h DESTINATION ${INCLUDE_INSTALL_PREFIX}) diff --git a/ebpf_vm_test/CMakeLists.txt b/ebpf_vm_test/CMakeLists.txt index 81fc747..e34a472 100644 --- a/ebpf_vm_test/CMakeLists.txt +++ b/ebpf_vm_test/CMakeLists.txt @@ -3,4 +3,7 @@ add_executable(vm_test mp_vm_test.c test_monitor_address.c) include_directories(${CMAKE_SOURCE_DIR}/ebpf_vm_executor) -target_link_libraries(vm_test LINK_PUBLIC ebpf_vm_executor) \ No newline at end of file +target_link_libraries(vm_test LINK_PUBLIC ebpf_vm_executor) + +install(TARGETS vm_test DESTINATION ${BIN_INSTALL_PREFIX}) + -- Gitee