diff --git a/CMakeLists.txt b/CMakeLists.txt index 8861005945..35f02a28b8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -634,6 +634,8 @@ if(ANDROID AND WITH_CPUFEATURES) set(HAVE_CPUFEATURES 1) endif() +include(cmake/OpenCVFindFrameworks.cmake) + include(cmake/OpenCVFindLibsGrfmt.cmake) include(cmake/OpenCVFindLibsGUI.cmake) include(cmake/OpenCVFindLibsVideo.cmake) diff --git a/cmake/OpenCVFindFrameworks.cmake b/cmake/OpenCVFindFrameworks.cmake new file mode 100644 index 0000000000..3760f1c3e9 --- /dev/null +++ b/cmake/OpenCVFindFrameworks.cmake @@ -0,0 +1,44 @@ +# ---------------------------------------------------------------------------- +# Detect frameworks that may be used by 3rd-party libraries as well as OpenCV +# ---------------------------------------------------------------------------- + +# --- C= --- +if(WITH_CSTRIPES AND NOT HAVE_TBB) + include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectCStripes.cmake") +else() + set(HAVE_CSTRIPES 0) +endif() + +# --- GCD --- +if(APPLE AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES) + set(HAVE_GCD 1) +else() + set(HAVE_GCD 0) +endif() + +# --- Concurrency --- +if(MSVC AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES) + set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/concurrencytest.cpp") + file(WRITE "${_fname}" "#if _MSC_VER < 1600\n#error\n#endif\nint main() { return 0; }\n") + try_compile(HAVE_CONCURRENCY "${CMAKE_BINARY_DIR}" "${_fname}") + file(REMOVE "${_fname}") +else() + set(HAVE_CONCURRENCY 0) +endif() + +# --- OpenMP --- +if(WITH_OPENMP) + find_package(OpenMP) + if(OPENMP_FOUND) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + endif() + set(HAVE_OPENMP "${OPENMP_FOUND}") +endif() + +ocv_clear_vars(HAVE_PTHREADS_PF) +if(WITH_PTHREADS_PF AND HAVE_PTHREAD) + set(HAVE_PTHREADS_PF 1) +else() + set(HAVE_PTHREADS_PF 0) +endif() diff --git a/cmake/OpenCVFindLibsPerf.cmake b/cmake/OpenCVFindLibsPerf.cmake index 84fc79df6f..8b91a2d739 100644 --- a/cmake/OpenCVFindLibsPerf.cmake +++ b/cmake/OpenCVFindLibsPerf.cmake @@ -92,44 +92,3 @@ if(WITH_CLP) endif() endif() endif(WITH_CLP) - -# --- C= --- -if(WITH_CSTRIPES AND NOT HAVE_TBB) - include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectCStripes.cmake") -else() - set(HAVE_CSTRIPES 0) -endif() - -# --- GCD --- -if(APPLE AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES) - set(HAVE_GCD 1) -else() - set(HAVE_GCD 0) -endif() - -# --- Concurrency --- -if(MSVC AND NOT HAVE_TBB AND NOT HAVE_CSTRIPES) - set(_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/concurrencytest.cpp") - file(WRITE "${_fname}" "#if _MSC_VER < 1600\n#error\n#endif\nint main() { return 0; }\n") - try_compile(HAVE_CONCURRENCY "${CMAKE_BINARY_DIR}" "${_fname}") - file(REMOVE "${_fname}") -else() - set(HAVE_CONCURRENCY 0) -endif() - -# --- OpenMP --- -if(WITH_OPENMP) - find_package(OpenMP) - if(OPENMP_FOUND) - set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") - endif() - set(HAVE_OPENMP "${OPENMP_FOUND}") -endif() - -ocv_clear_vars(HAVE_PTHREADS_PF) -if(WITH_PTHREADS_PF AND HAVE_PTHREAD) - set(HAVE_PTHREADS_PF 1) -else() - set(HAVE_PTHREADS_PF 0) -endif()