75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# ----------------------------------------------------------------------------
 | 
						|
#  Detect other 3rd-party performance and math libraries
 | 
						|
# ----------------------------------------------------------------------------
 | 
						|
 | 
						|
# --- TBB ---
 | 
						|
if(WITH_TBB)
 | 
						|
  include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectTBB.cmake")
 | 
						|
endif(WITH_TBB)
 | 
						|
 | 
						|
# --- IPP ---
 | 
						|
ocv_clear_vars(IPP_FOUND)
 | 
						|
if(WITH_IPP)
 | 
						|
  include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindIPP.cmake")
 | 
						|
  if(IPP_FOUND)
 | 
						|
    add_definitions(-DHAVE_IPP)
 | 
						|
    ocv_include_directories(${IPP_INCLUDE_DIRS})
 | 
						|
    link_directories(${IPP_LIBRARY_DIRS})
 | 
						|
    set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${IPP_LIBRARIES})
 | 
						|
  endif()
 | 
						|
endif(WITH_IPP)
 | 
						|
 | 
						|
# --- CUDA ---
 | 
						|
if(WITH_CUDA)
 | 
						|
  include("${OpenCV_SOURCE_DIR}/cmake/OpenCVDetectCUDA.cmake")
 | 
						|
endif(WITH_CUDA)
 | 
						|
 | 
						|
# --- Eigen ---
 | 
						|
if(WITH_EIGEN)
 | 
						|
  find_path(EIGEN_INCLUDE_PATH "Eigen/Core"
 | 
						|
            PATHS /usr/local /opt /usr ENV ProgramFiles ENV ProgramW6432
 | 
						|
            PATH_SUFFIXES include/eigen3 include/eigen2 Eigen/include/eigen3 Eigen/include/eigen2
 | 
						|
            DOC "The path to Eigen3/Eigen2 headers"
 | 
						|
            CMAKE_FIND_ROOT_PATH_BOTH)
 | 
						|
 | 
						|
  if(EIGEN_INCLUDE_PATH)
 | 
						|
    ocv_include_directories(${EIGEN_INCLUDE_PATH})
 | 
						|
    ocv_parse_header("${EIGEN_INCLUDE_PATH}/Eigen/src/Core/util/Macros.h" EIGEN_VERSION_LINES EIGEN_WORLD_VERSION EIGEN_MAJOR_VERSION EIGEN_MINOR_VERSION)
 | 
						|
    set(HAVE_EIGEN 1)
 | 
						|
  endif()
 | 
						|
endif(WITH_EIGEN)
 | 
						|
 | 
						|
# --- 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()
 |