diff --git a/modules/v4d/CMakeLists.txt b/modules/v4d/CMakeLists.txt index a26fd1125..b4f12a60e 100644 --- a/modules/v4d/CMakeLists.txt +++ b/modules/v4d/CMakeLists.txt @@ -1,5 +1,6 @@ if(NOT EMSCRIPTEN) find_package(glfw3 3 REQUIRED) + find_package(OpenCL REQUIRED) include("FindGLEW") include("FindOpenGL") else() @@ -44,7 +45,10 @@ macro(add_emscripten_sample sample source assets) endif() endmacro() -macro(add_binary_sample sample) +macro(add_binary_sample sample source) + add_executable(${sample} ${source}) + ocv_target_include_modules(${sample} opencv_core opencv_imgproc opencv_videoio opencv_video opencv_imgcodecs opencv_v4d opencv_face opencv_tracking opencv_objdetect opencv_stitching opencv_optflow opencv_imgcodecs opencv_features2d opencv_dnn opencv_flann) + ocv_target_link_libraries(${sample} LINK_PRIVATE opencv_core opencv_imgproc opencv_videoio opencv_video opencv_imgcodecs opencv_v4d opencv_face opencv_tracking opencv_objdetect opencv_stitching opencv_optflow opencv_imgcodecs opencv_features2d opencv_dnn opencv_flann nanogui) target_compile_features(${sample} PRIVATE cxx_std_20) target_link_directories(${sample} PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/../../lib") target_include_directories(${sample} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include/opencv2/v4d/detail/") @@ -105,7 +109,7 @@ ocv_add_module(v4d opencv_core opencv_imgproc opencv_videoio opencv_video) ocv_glob_module_sources() ocv_module_include_directories() ocv_create_module() -ocv_add_samples(opencv_core opencv_imgproc opencv_videoio opencv_video opencv_v4d opencv_face opencv_tracking opencv_objdetect opencv_stitching opencv_optflow opencv_imgcodecs opencv_features2d opencv_dnn opencv_flann) +ocv_add_samples(opencv_v4d) add_custom_command( TARGET ${the_module} POST_BUILD @@ -140,23 +144,23 @@ if(BUILD_EXAMPLES) add_emscripten_sample(example_v4d_optflow-demo samples/optflow-demo.cpp false) add_emscripten_sample(example_v4d_beauty-demo samples/beauty-demo.cpp true) else() - add_binary_sample(example_v4d_display_image) - add_binary_sample(example_v4d_custom_source_and_sink) - add_binary_sample(example_v4d_display_image_fb) - add_binary_sample(example_v4d_font_rendering) - add_binary_sample(example_v4d_font_with_gui) - add_binary_sample(example_v4d_render_opengl) - add_binary_sample(example_v4d_vector_graphics_and_fb) - add_binary_sample(example_v4d_vector_graphics) - add_binary_sample(example_v4d_video_editing) - add_binary_sample(example_v4d_cube-demo) - add_binary_sample(example_v4d_video-demo) - add_binary_sample(example_v4d_nanovg-demo) - add_binary_sample(example_v4d_font-demo) - add_binary_sample(example_v4d_shader-demo) - add_binary_sample(example_v4d_pedestrian-demo) - add_binary_sample(example_v4d_optflow-demo) - add_binary_sample(example_v4d_beauty-demo) + add_binary_sample(example_v4d_display_image samples/display_image.cpp) + add_binary_sample(example_v4d_display_image_fb samples/display_image_fb.cpp) + add_binary_sample(example_v4d_vector_graphics samples/vector_graphics.cpp) + add_binary_sample(example_v4d_vector_graphics_and_fb samples/vector_graphics_and_fb.cpp) + add_binary_sample(example_v4d_render_opengl samples/render_opengl.cpp) + add_binary_sample(example_v4d_custom_source_and_sink samples/custom_source_and_sink.cpp) + add_binary_sample(example_v4d_font_rendering samples/font_rendering.cpp) + add_binary_sample(example_v4d_font_with_gui samples/font_with_gui.cpp) + add_binary_sample(example_v4d_video_editing samples/video_editing.cpp) + add_binary_sample(example_v4d_cube-demo samples/cube-demo.cpp) + add_binary_sample(example_v4d_video-demo samples/video-demo.cpp) + add_binary_sample(example_v4d_nanovg-demo samples/nanovg-demo.cpp) + add_binary_sample(example_v4d_font-demo samples/font-demo.cpp) + add_binary_sample(example_v4d_shader-demo samples/shader-demo.cpp) + add_binary_sample(example_v4d_pedestrian-demo samples/pedestrian-demo.cpp) + add_binary_sample(example_v4d_optflow-demo samples/optflow-demo.cpp) + add_binary_sample(example_v4d_beauty-demo samples/beauty-demo.cpp) endif() endif() @@ -203,5 +207,5 @@ target_include_directories(${the_module} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}thi if(EMSCRIPTEN) ocv_target_link_libraries(${the_module} -lnanogui) else() - ocv_target_link_libraries(${the_module} -lOpenCL -lnanogui glfw GLEW::GLEW OpenGL::GLU OpenGL::OpenGL) + ocv_target_link_libraries(${the_module} OpenCL::OpenCL -lnanogui glfw GLEW::GLEW OpenGL::GLU OpenGL::OpenGL) endif()