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