CMakeLists.txt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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/remote_source.cpp
  33. src/display_output.cpp
  34. )
  35. target_link_libraries(zone_alarm
  36. ${OpenCV_LIBS}
  37. Threads::Threads
  38. rknnrt
  39. rockchip_mpp
  40. rga
  41. avcodec
  42. avformat
  43. avutil
  44. swscale
  45. sqlite3
  46. dl
  47. z
  48. )
  49. install(TARGETS zone_alarm DESTINATION bin)