Files
bytetrack-counter-cpp/CMakeLists.txt
T
2026-07-01 13:38:05 +07:00

56 lines
1.3 KiB
CMake

cmake_minimum_required(VERSION 3.16)
project(bytetrack-counter LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
find_package(OpenCV REQUIRED COMPONENTS core imgproc videoio highgui imgcodecs)
set(Eigen3_DIR /usr/share/eigen3/cmake)
find_package(Eigen3 REQUIRED NO_MODULE)
find_package(SQLite3 REQUIRED)
option(HAS_RKNN "Build with RKNN NPU support" OFF)
if(HAS_RKNN)
add_definitions(-DHAS_RKNN)
include_directories(/usr/local/include/rknn)
endif()
set(SOURCES
src/main.cpp
src/kalman_filter.cpp
src/bytetrack.cpp
src/batch_store.cpp
src/csv_logger.cpp
src/rknn_yolo.cpp
src/config.cpp
src/drawing.cpp
)
add_executable(bytetrack-counter ${SOURCES})
target_include_directories(bytetrack-counter PRIVATE
${OpenCV_INCLUDE_DIRS}
${EIGEN3_INCLUDE_DIR}
${SQLite3_INCLUDE_DIRS}
src
)
target_link_libraries(bytetrack-counter
${OpenCV_LIBS}
${SQLite3_LIBRARIES}
pthread
)
if(HAS_RKNN)
find_library(RKNN_LIB rknnrt PATHS /usr/lib /usr/local/lib)
if(RKNN_LIB)
target_link_libraries(bytetrack-counter ${RKNN_LIB})
else()
message(WARNING "librknnrt not found — RKNN support disabled")
endif()
endif()
install(TARGETS bytetrack-counter DESTINATION /opt/bytetrack-counter-cpp/bin)