Merge remote-tracking branch 'upstream/3.4' into merge-3.4
[platform/upstream/opencv.git] / cmake / OpenCVFindFrameworks.cmake
1 # ----------------------------------------------------------------------------
2 #  Detect frameworks that may be used by 3rd-party libraries as well as OpenCV
3 # ----------------------------------------------------------------------------
4
5 # --- HPX ---
6 if(WITH_HPX)
7   find_package(HPX REQUIRED)
8   ocv_include_directories(${HPX_INCLUDE_DIRS})
9   set(HAVE_HPX TRUE)
10 endif(WITH_HPX)
11
12 # --- GCD ---
13 if(APPLE AND NOT HAVE_TBB)
14   set(HAVE_GCD 1)
15 else()
16   set(HAVE_GCD 0)
17 endif()
18
19 # --- Concurrency ---
20 if(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}")
25 else()
26   set(HAVE_CONCURRENCY 0)
27 endif()
28
29 # --- OpenMP ---
30 if(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}")
37 endif()
38
39 ocv_clear_vars(HAVE_PTHREADS_PF)
40 if(WITH_PTHREADS_PF AND HAVE_PTHREAD)
41   set(HAVE_PTHREADS_PF 1)
42 else()
43   set(HAVE_PTHREADS_PF 0)
44 endif()