31 lines
1.1 KiB
CMake
31 lines
1.1 KiB
CMake
cmake_minimum_required(VERSION 3.21)
|
|
|
|
function(kpn_example name)
|
|
add_executable(${name} ${name}/main.cpp)
|
|
target_link_libraries(${name} PRIVATE kpn)
|
|
endfunction()
|
|
|
|
kpn_example(01_hello_pipeline)
|
|
kpn_example(02_named_ports)
|
|
kpn_example(03_multi_output)
|
|
kpn_example(04_storage_policy)
|
|
kpn_example(05_error_handling)
|
|
kpn_example(06_watchdog)
|
|
# 07 and 08 require the Python bindings — only add if built
|
|
if(KPN_BUILD_PYTHON)
|
|
# These are Python scripts, not compiled targets — installed alongside kpn_python
|
|
endif()
|
|
|
|
# 09 requires OpenCV — only build if found
|
|
find_package(OpenCV QUIET COMPONENTS core imgproc highgui videoio)
|
|
if(OpenCV_FOUND)
|
|
add_executable(09_opencv_cellshade 09_opencv_cellshade/main.cpp)
|
|
target_link_libraries(09_opencv_cellshade PRIVATE kpn ${OpenCV_LIBS})
|
|
if(KPN_WEB_DEBUG)
|
|
kpn_target_enable_web_debug(09_opencv_cellshade)
|
|
endif()
|
|
message(STATUS "KPN++ example 09_opencv_cellshade: OpenCV ${OpenCV_VERSION} found — building")
|
|
else()
|
|
message(STATUS "KPN++ example 09_opencv_cellshade: OpenCV not found — skipping")
|
|
endif()
|