forked from zakaria/chicken-counting-sukawarna-det
58 lines
1.6 KiB
CMake
58 lines
1.6 KiB
CMake
cmake_minimum_required(VERSION 3.16)
|
|
project(chicken_counter VERSION 0.1.0 LANGUAGES CXX)
|
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
|
|
|
find_package(OpenCV 4.0 REQUIRED COMPONENTS core imgproc video videoio highgui imgcodecs dnn)
|
|
find_package(nlohmann_json 3.0 REQUIRED)
|
|
find_package(yaml-cpp REQUIRED)
|
|
find_package(CUDAToolkit REQUIRED)
|
|
|
|
find_library(NVINFER_LIB nvinfer PATHS /usr/lib/aarch64-linux-gnu REQUIRED)
|
|
find_library(NVONNX_LIB nvonnxparser PATHS /usr/lib/aarch64-linux-gnu REQUIRED)
|
|
|
|
set(COMMON_LIBS
|
|
opencv_core opencv_imgproc opencv_video opencv_videoio opencv_highgui opencv_imgcodecs opencv_dnn
|
|
nlohmann_json::nlohmann_json
|
|
yaml-cpp
|
|
CUDA::cudart
|
|
${NVINFER_LIB}
|
|
${NVONNX_LIB}
|
|
)
|
|
|
|
add_library(chicken_counter_lib STATIC
|
|
src/pipeline.cpp
|
|
src/batch_runner.cpp
|
|
)
|
|
target_include_directories(chicken_counter_lib PUBLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/include
|
|
/usr/include/aarch64-linux-gnu
|
|
)
|
|
target_link_libraries(chicken_counter_lib PUBLIC ${COMMON_LIBS})
|
|
|
|
add_executable(chicken_counter_cli
|
|
src/main.cpp
|
|
)
|
|
target_link_libraries(chicken_counter_cli PRIVATE chicken_counter_lib)
|
|
|
|
add_executable(test_config
|
|
tests/test_config.cpp
|
|
)
|
|
target_link_libraries(test_config PRIVATE chicken_counter_lib)
|
|
|
|
add_executable(test_modules
|
|
tests/test_modules.cpp
|
|
)
|
|
target_link_libraries(test_modules PRIVATE chicken_counter_lib)
|
|
|
|
add_executable(chicken_counter_dashboard
|
|
src/dashboard.cpp
|
|
)
|
|
target_link_libraries(chicken_counter_dashboard PRIVATE pthread)
|
|
|
|
enable_testing()
|
|
add_test(NAME config COMMAND test_config)
|
|
add_test(NAME modules COMMAND test_modules)
|