1# ----------------------------------------------------------------------------
2#  Detect frameworks that may be used by 3rd-party libraries as well as OpenCV
3# ----------------------------------------------------------------------------
4
5# --- HPX ---
6if(WITH_HPX)
7  find_package(HPX REQUIRED)
8  ocv_include_directories(${HPX_INCLUDE_DIRS})
9  set(HAVE_HPX TRUE)
10endif(WITH_HPX)
11
12# --- GCD ---
13if(APPLE AND NOT HAVE_TBB)
14  set(HAVE_GCD 1)
15else()
16  set(HAVE_GCD 0)
17endif()
18
19# --- Concurrency ---
20if(MSVC AND NOT HAVE_TBB)
21  set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/concurrencytest.cpp")
22  file(WRITE "${_fname}" "#if _MSC_VER < 1600\n#error\n#endif\nint main() { return 0; }\n")
23  try_compile(HAVE_CONCURRENCY "${CMAKE_BINARY_DIR}" "${_fname}")
24  file(REMOVE "${_fname}")
25else()
26  set(HAVE_CONCURRENCY 0)
27endif()
28
29# --- OpenMP ---
30if(WITH_OPENMP)
31  find_package(OpenMP)
32  if(OPENMP_FOUND)
33    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
34    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
35  endif()
36  set(HAVE_OPENMP "${OPENMP_FOUND}")
37endif()
38
39ocv_clear_vars(HAVE_PTHREADS_PF)
40if(WITH_PTHREADS_PF AND HAVE_PTHREAD)
41  set(HAVE_PTHREADS_PF 1)
42else()
43  set(HAVE_PTHREADS_PF 0)
44endif()
45