CMakeLists.txt 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. cmake_minimum_required(VERSION 3.16)
  2. project(zone_alarm VERSION 2.0 LANGUAGES C CXX)
  3. set(CMAKE_CXX_STANDARD 17)
  4. set(CMAKE_CXX_STANDARD_REQUIRED ON)
  5. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -Wno-unused-variable")
  6. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2")
  7. find_package(OpenCV REQUIRED COMPONENTS core imgproc imgcodecs videoio)
  8. find_package(Threads REQUIRED)
  9. include_directories(
  10. ${CMAKE_SOURCE_DIR}/include
  11. ${OpenCV_INCLUDE_DIRS}
  12. /usr/include
  13. /usr/include/aarch64-linux-gnu
  14. /usr/include/rga
  15. /usr/include/libdrm
  16. )
  17. link_directories(/usr/lib /usr/lib/aarch64-linux-gnu)
  18. add_executable(zone_alarm
  19. src/main.cpp
  20. src/rtsp_capture.cpp
  21. src/yolo_detector.cpp
  22. src/rga_processor.cpp
  23. src/fence_engine.cpp
  24. src/relay_ctrl.cpp
  25. src/web_server.cpp
  26. src/alarm_history.cpp
  27. )
  28. target_link_libraries(zone_alarm
  29. ${OpenCV_LIBS}
  30. Threads::Threads
  31. rknnrt
  32. rockchip_mpp
  33. rga
  34. avcodec
  35. avformat
  36. avutil
  37. swscale
  38. sqlite3
  39. dl
  40. z
  41. )
  42. install(TARGETS zone_alarm DESTINATION bin)