CMakeLists.txt 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. cmake_minimum_required(VERSION 3.16)
  2. project(zone_alarm VERSION 2.1 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 highgui)
  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. src/rfid_client.cpp
  28. src/modbus_client.cpp
  29. src/bucket_manager.cpp
  30. src/idle_detector.cpp
  31. src/pose_detector.cpp
  32. src/display_output.cpp
  33. )
  34. target_link_libraries(zone_alarm
  35. ${OpenCV_LIBS}
  36. Threads::Threads
  37. rknnrt
  38. rockchip_mpp
  39. rga
  40. avcodec
  41. avformat
  42. avutil
  43. swscale
  44. sqlite3
  45. dl
  46. z
  47. )
  48. install(TARGETS zone_alarm DESTINATION bin)