mirror of
https://github.com/opencv/opencv.git
synced 2026-07-31 08:13:04 +04:00
Merge remote-tracking branch 'origin/2.4' into merge-2.4
Conflicts: apps/CMakeLists.txt modules/contrib/CMakeLists.txt modules/core/include/opencv2/core/version.hpp modules/imgproc/include/opencv2/imgproc/imgproc.hpp modules/java/generator/gen_java.py modules/ocl/include/opencv2/ocl/ocl.hpp modules/ocl/src/cl_runtime/cl_runtime.cpp modules/ocl/src/columnsum.cpp modules/ocl/src/filtering.cpp modules/ocl/src/imgproc.cpp modules/ocl/test/main.cpp modules/ocl/test/test_color.cpp modules/ocl/test/test_imgproc.cpp samples/gpu/CMakeLists.txt
This commit is contained in:
@@ -108,6 +108,7 @@ if(CUDA_FOUND)
|
||||
message(STATUS "Automatic detection of CUDA generation failed. Going to build for all known architectures.")
|
||||
else()
|
||||
set(__cuda_arch_bin "${_nvcc_out}")
|
||||
string(REPLACE "2.1" "2.1(2.0)" __cuda_arch_bin "${__cuda_arch_bin}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
||||
@@ -3,58 +3,37 @@ if(APPLE)
|
||||
set(OPENCL_LIBRARY "-framework OpenCL" CACHE STRING "OpenCL library")
|
||||
set(OPENCL_INCLUDE_DIR "" CACHE STRING "OpenCL include directory")
|
||||
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
|
||||
set(HAVE_OPENCL_STATIC ON)
|
||||
else(APPLE)
|
||||
#find_package(OpenCL QUIET)
|
||||
|
||||
if(NOT OPENCL_FOUND)
|
||||
find_path(OPENCL_ROOT_DIR
|
||||
NAMES OpenCL/cl.h CL/cl.h include/CL/cl.h include/nvidia-current/CL/cl.h
|
||||
PATHS ENV OCLROOT ENV AMDAPPSDKROOT ENV CUDA_PATH ENV INTELOCLSDKROOT
|
||||
DOC "OpenCL root directory"
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
find_path(OPENCL_INCLUDE_DIR
|
||||
NAMES OpenCL/cl.h CL/cl.h
|
||||
HINTS ${OPENCL_ROOT_DIR}
|
||||
PATH_SUFFIXES include include/nvidia-current
|
||||
DOC "OpenCL include directory"
|
||||
NO_DEFAULT_PATH)
|
||||
|
||||
set(OPENCL_LIBRARY "OPENCL_DYNAMIC_LOAD")
|
||||
|
||||
mark_as_advanced(OPENCL_INCLUDE_DIR OPENCL_LIBRARY)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENCL DEFAULT_MSG OPENCL_LIBRARY OPENCL_INCLUDE_DIR )
|
||||
endif()
|
||||
set(OPENCL_FOUND YES)
|
||||
set(HAVE_OPENCL_STATIC OFF)
|
||||
set(OPENCL_INCLUDE_DIR "${OpenCV_SOURCE_DIR}/3rdparty/include/opencl/1.2")
|
||||
endif(APPLE)
|
||||
|
||||
if(OPENCL_FOUND)
|
||||
try_compile(HAVE_OPENCL11
|
||||
"${OpenCV_BINARY_DIR}"
|
||||
"${OpenCV_SOURCE_DIR}/cmake/checks/opencl11.cpp"
|
||||
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OPENCL_INCLUDE_DIR}"
|
||||
)
|
||||
if(NOT HAVE_OPENCL11)
|
||||
message(STATUS "OpenCL 1.1 not found, ignore OpenCL SDK")
|
||||
return()
|
||||
endif()
|
||||
try_compile(HAVE_OPENCL12
|
||||
"${OpenCV_BINARY_DIR}"
|
||||
"${OpenCV_SOURCE_DIR}/cmake/checks/opencl12.cpp"
|
||||
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OPENCL_INCLUDE_DIR}"
|
||||
)
|
||||
if(NOT HAVE_OPENCL12)
|
||||
message(STATUS "OpenCL 1.2 not found, will use OpenCL 1.1")
|
||||
if(NOT HAVE_OPENCL_STATIC)
|
||||
try_compile(__VALID_OPENCL
|
||||
"${OpenCV_BINARY_DIR}"
|
||||
"${OpenCV_SOURCE_DIR}/cmake/checks/opencl.cpp"
|
||||
CMAKE_FLAGS "-DINCLUDE_DIRECTORIES:STRING=${OPENCL_INCLUDE_DIR}"
|
||||
OUTPUT_VARIABLE TRY_OUT
|
||||
)
|
||||
if(NOT TRY_OUT MATCHES "OpenCL is valid")
|
||||
message(WARNING "Can't use OpenCL")
|
||||
return()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(HAVE_OPENCL 1)
|
||||
set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR})
|
||||
if(OPENCL_LIBRARY MATCHES "OPENCL_DYNAMIC_LOAD")
|
||||
unset(OPENCL_LIBRARIES)
|
||||
else()
|
||||
|
||||
if(HAVE_OPENCL_STATIC)
|
||||
set(OPENCL_LIBRARIES "${OPENCL_LIBRARY}")
|
||||
else()
|
||||
unset(OPENCL_LIBRARIES)
|
||||
endif()
|
||||
|
||||
set(OPENCL_INCLUDE_DIRS ${OPENCL_INCLUDE_DIR})
|
||||
|
||||
if(WITH_OPENCLAMDFFT)
|
||||
find_path(CLAMDFFT_ROOT_DIR
|
||||
NAMES include/clAmdFft.h
|
||||
|
||||
@@ -74,11 +74,12 @@ if(ANDROID AND NOT BUILD_SHARED_LIBS AND HAVE_TBB)
|
||||
list(APPEND OpenCV2_INCLUDE_DIRS_CONFIGCMAKE ${TBB_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
export(TARGETS ${OpenCVModules_TARGETS} FILE "${CMAKE_BINARY_DIR}/OpenCVModules.cmake")
|
||||
|
||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig.cmake" IMMEDIATE @ONLY)
|
||||
#support for version checking when finding opencv. find_package(OpenCV 2.3.1 EXACT) should now work.
|
||||
configure_file("${OpenCV_SOURCE_DIR}/cmake/templates/OpenCVConfig-version.cmake.in" "${CMAKE_BINARY_DIR}/OpenCVConfig-version.cmake" IMMEDIATE @ONLY)
|
||||
|
||||
|
||||
# --------------------------------------------------------------------------------------------
|
||||
# Part 2/3: ${BIN_DIR}/unix-install/OpenCVConfig.cmake -> For use *with* "make install"
|
||||
# -------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -440,6 +440,27 @@ endmacro()
|
||||
function(ocv_install_target)
|
||||
install(TARGETS ${ARGN})
|
||||
|
||||
set(isPackage 0)
|
||||
unset(__package)
|
||||
unset(__target)
|
||||
foreach(e ${ARGN})
|
||||
if(NOT DEFINED __target)
|
||||
set(__target "${e}")
|
||||
endif()
|
||||
if(isPackage EQUAL 1)
|
||||
set(__package "${e}")
|
||||
break()
|
||||
endif()
|
||||
if(e STREQUAL "EXPORT")
|
||||
set(isPackage 1)
|
||||
endif()
|
||||
endforeach()
|
||||
|
||||
if(DEFINED __package)
|
||||
list(APPEND ${__package}_TARGETS ${__target})
|
||||
set(${__package}_TARGETS "${${__package}_TARGETS}" CACHE INTERNAL "List of ${__package} targets")
|
||||
endif()
|
||||
|
||||
if(INSTALL_CREATE_DISTRIB)
|
||||
if(MSVC AND NOT BUILD_SHARED_LIBS)
|
||||
set(__target "${ARGV0}")
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
#if defined __APPLE__
|
||||
#include <OpenCL/cl.h>
|
||||
#else
|
||||
#include <CL/cl.h>
|
||||
#endif
|
||||
|
||||
#ifndef _MSC_VER
|
||||
#ifdef CL_VERSION_1_2
|
||||
#error OpenCL is valid
|
||||
#else
|
||||
#error OpenCL check failed
|
||||
#endif
|
||||
#else
|
||||
#ifdef CL_VERSION_1_2
|
||||
#pragma message ("OpenCL is valid")
|
||||
#else
|
||||
#pragma message ("OpenCL check failed")
|
||||
#endif
|
||||
#endif
|
||||
|
||||
int main(int /*argc*/, char** /*argv*/)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
#if defined __APPLE__
|
||||
#include <OpenCL/cl.h>
|
||||
#else
|
||||
#include <CL/cl.h>
|
||||
#endif
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
#ifdef CL_VERSION_1_1
|
||||
#else
|
||||
#error OpenCL 1.1 not found
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
#if defined __APPLE__
|
||||
#include <OpenCL/cl.h>
|
||||
#else
|
||||
#include <CL/cl.h>
|
||||
#endif
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
#ifdef CL_VERSION_1_2
|
||||
#else
|
||||
#error OpenCL 1.2 not found
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
@@ -290,9 +290,10 @@ endmacro()
|
||||
# adds include directories in such way that directories from the OpenCV source tree go first
|
||||
function(ocv_include_directories)
|
||||
set(__add_before "")
|
||||
file(TO_CMAKE_PATH "${OpenCV_DIR}" __baseDir)
|
||||
foreach(dir ${ARGN})
|
||||
get_filename_component(__abs_dir "${dir}" ABSOLUTE)
|
||||
if("${__abs_dir}" MATCHES "^${OpenCV_DIR}")
|
||||
if("${__abs_dir}" MATCHES "^${__baseDir}")
|
||||
list(APPEND __add_before "${dir}")
|
||||
else()
|
||||
include_directories(AFTER SYSTEM "${dir}")
|
||||
|
||||
@@ -105,8 +105,7 @@
|
||||
|
||||
/* OpenCL Support */
|
||||
#cmakedefine HAVE_OPENCL
|
||||
#cmakedefine HAVE_OPENCL11
|
||||
#cmakedefine HAVE_OPENCL12
|
||||
#cmakedefine HAVE_OPENCL_STATIC
|
||||
|
||||
/* OpenEXR codec */
|
||||
#cmakedefine HAVE_OPENEXR
|
||||
|
||||
Reference in New Issue
Block a user