cmake_minimum_required(VERSION 3.16) project(zone_alarm VERSION 2.0 LANGUAGES C CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -Wno-unused-variable") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs videoio) find_package(Threads REQUIRED) include_directories( ${CMAKE_SOURCE_DIR}/include ${OpenCV_INCLUDE_DIRS} /usr/include /usr/include/aarch64-linux-gnu /usr/include/rga /usr/include/libdrm ) link_directories(/usr/lib /usr/lib/aarch64-linux-gnu) add_executable(zone_alarm src/main.cpp src/rtsp_capture.cpp src/yolo_detector.cpp src/rga_processor.cpp src/fence_engine.cpp src/relay_ctrl.cpp src/web_server.cpp src/alarm_history.cpp ) target_link_libraries(zone_alarm ${OpenCV_LIBS} Threads::Threads rknnrt rockchip_mpp rga avcodec avformat avutil swscale sqlite3 dl z ) install(TARGETS zone_alarm DESTINATION bin)