samples: update parallel_backend examples

- use find_package(TBB)
pull/20940/head
Alexander Alekhin 3 years ago
parent 6a2077cbd8
commit 3891f18e71
  1. 4
      samples/cpp/CMakeLists.txt
  2. 49
      samples/cpp/tutorial_code/core/parallel_backend/CMakeLists.txt

@ -72,6 +72,8 @@ include("tutorial_code/calib3d/real_time_pose_estimation/CMakeLists.txt" OPTIONA
if(OpenCV_FOUND AND NOT CMAKE_VERSION VERSION_LESS "3.1") if(OpenCV_FOUND AND NOT CMAKE_VERSION VERSION_LESS "3.1")
add_subdirectory("example_cmake") add_subdirectory("example_cmake")
endif() endif()
if(OpenCV_FOUND AND NOT CMAKE_VERSION VERSION_LESS "3.9") if(OpenCV_FOUND AND NOT CMAKE_VERSION VERSION_LESS "3.9"
AND NOT OPENCV_EXAMPLES_SKIP_PARALLEL_BACKEND
)
add_subdirectory("tutorial_code/core/parallel_backend") add_subdirectory("tutorial_code/core/parallel_backend")
endif() endif()

@ -2,25 +2,36 @@ cmake_minimum_required(VERSION 3.9)
find_package(OpenCV REQUIRED COMPONENTS opencv_core) find_package(OpenCV REQUIRED COMPONENTS opencv_core)
find_package(OpenMP) if(NOT OPENCV_EXAMPLES_SKIP_PARALLEL_BACKEND_OPENMP
if(OpenMP_FOUND) AND NOT OPENCV_EXAMPLES_SKIP_OPENMP
project(opencv_example_openmp_backend) )
add_executable(opencv_example_openmp_backend example-openmp.cpp) find_package(OpenMP)
target_link_libraries(opencv_example_openmp_backend PRIVATE if(OpenMP_FOUND)
opencv_core project(opencv_example_openmp_backend)
OpenMP::OpenMP_CXX add_executable(opencv_example_openmp_backend example-openmp.cpp)
) target_link_libraries(opencv_example_openmp_backend PRIVATE
opencv_core
OpenMP::OpenMP_CXX
)
endif()
endif() endif()
# TODO: find_package(TBB) if(NOT OPENCV_EXAMPLES_SKIP_PARALLEL_BACKEND_TBB
find_path(TBB_INCLUDE_DIR NAMES "tbb/tbb.h") AND NOT OPENCV_EXAMPLES_SKIP_TBB
find_library(TBB_LIBRARY NAMES "tbb") AND NOT OPENCV_EXAMPLE_SKIP_TBB # deprecated (to be removed in OpenCV 5.0)
if(TBB_INCLUDE_DIR AND TBB_LIBRARY AND NOT OPENCV_EXAMPLE_SKIP_TBB) )
project(opencv_example_tbb_backend) find_package(TBB)
add_executable(opencv_example_tbb_backend example-tbb.cpp) if(NOT TBB_FOUND)
target_include_directories(opencv_example_tbb_backend SYSTEM PRIVATE ${TBB_INCLUDE_DIR}) find_path(TBB_INCLUDE_DIR NAMES "tbb/tbb.h")
target_link_libraries(opencv_example_tbb_backend PRIVATE find_library(TBB_LIBRARY NAMES "tbb")
opencv_core endif()
${TBB_LIBRARY} if(TBB_INCLUDE_DIR AND TBB_LIBRARY)
) project(opencv_example_tbb_backend)
add_executable(opencv_example_tbb_backend example-tbb.cpp)
target_include_directories(opencv_example_tbb_backend SYSTEM PRIVATE ${TBB_INCLUDE_DIR})
target_link_libraries(opencv_example_tbb_backend PRIVATE
opencv_core
${TBB_LIBRARY}
)
endif()
endif() endif()

Loading…
Cancel
Save