added flags OpenCV_COMPUTE_CAPABILITIES, which stores the version compute capability from which it is compiled opencv
now use opencv with cuda in your application in the such way : set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ${OpenCV_COMPUTE_CAPABILITIES})
This commit is contained in:
parent
096080de70
commit
199ffc632d
122
CMakeLists.txt
122
CMakeLists.txt
@ -35,6 +35,11 @@ set(CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
|
|||||||
set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
|
set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
|
set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "" CACHE INTERNAL "" FORCE)
|
||||||
set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
|
set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "" FORCE)
|
||||||
|
set(CMAKE_VERBOSE OFF CACHE BOOL "Verbose mode")
|
||||||
|
|
||||||
|
if (CMAKE_VERBOSE)
|
||||||
|
set (CMAKE_VERBOSE_MAKEFILE 1)
|
||||||
|
endif()
|
||||||
|
|
||||||
project(OpenCV)
|
project(OpenCV)
|
||||||
|
|
||||||
@ -142,7 +147,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
|
|
||||||
list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
|
list(GET CMAKE_OPENCV_GCC_VERSIONS 0 CMAKE_OPENCV_GCC_VERSION_MAJOR)
|
||||||
list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
|
list(GET CMAKE_OPENCV_GCC_VERSIONS 1 CMAKE_OPENCV_GCC_VERSION_MINOR)
|
||||||
|
|
||||||
set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
|
set(CMAKE_OPENCV_GCC_VERSION ${CMAKE_OPENCV_GCC_VERSION_MAJOR}${CMAKE_OPENCV_GCC_VERSION_MINOR})
|
||||||
math(EXPR CMAKE_OPENCV_GCC_VERSION_NUM "${CMAKE_OPENCV_GCC_VERSION_MAJOR}*100 + ${CMAKE_OPENCV_GCC_VERSION_MINOR}")
|
math(EXPR CMAKE_OPENCV_GCC_VERSION_NUM "${CMAKE_OPENCV_GCC_VERSION_MAJOR}*100 + ${CMAKE_OPENCV_GCC_VERSION_MINOR}")
|
||||||
message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION} (${CMAKE_OPENCV_GCC_VERSION_NUM})")
|
message(STATUS "Detected version of GNU GCC: ${CMAKE_OPENCV_GCC_VERSION} (${CMAKE_OPENCV_GCC_VERSION_NUM})")
|
||||||
@ -228,14 +233,14 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
|
set(USE_O2 ON CACHE BOOL "Enable -O2 for GCC")
|
||||||
set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
|
set(USE_FAST_MATH ON CACHE BOOL "Enable -ffast-math for GCC")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES amd64*)
|
||||||
set(X86_64 1)
|
set(X86_64 1)
|
||||||
endif()
|
endif()
|
||||||
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86_64*)
|
||||||
set(X86_64 1)
|
set(X86_64 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES i686*)
|
||||||
set(X86 1)
|
set(X86 1)
|
||||||
endif()
|
endif()
|
||||||
@ -245,12 +250,12 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*)
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*)
|
||||||
set(X86 1)
|
set(X86 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES powerpc*)
|
||||||
set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
|
set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
|
||||||
set(ENABLE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
|
set(ENABLE_POWERPC ON CACHE BOOL "Enable PowerPC for GCC")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
if(X86 OR X86_64)
|
if(X86 OR X86_64)
|
||||||
# enable everything, since the available set of instructions is checked at runtime
|
# enable everything, since the available set of instructions is checked at runtime
|
||||||
set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
|
set(USE_O3 ON CACHE BOOL "Enable -O3 for GCC")
|
||||||
@ -295,7 +300,7 @@ set(WITH_EIGEN2 ON CACHE BOOL "Include Eigen2 support")
|
|||||||
set(WITH_CUDA OFF CACHE BOOL "Include NVidia Cuda Runtime support")
|
set(WITH_CUDA OFF CACHE BOOL "Include NVidia Cuda Runtime support")
|
||||||
|
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
set(WITH_VIDEOINPUT ON CACHE BOOL "Enable VideoInput support")
|
set(WITH_VIDEOINPUT ON CACHE BOOL "Enable VideoInput support")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# ===================================================
|
# ===================================================
|
||||||
@ -320,7 +325,7 @@ macro(CHECK_MODULE module_name define)
|
|||||||
foreach(P "${ALIAS_INCLUDE_DIRS}")
|
foreach(P "${ALIAS_INCLUDE_DIRS}")
|
||||||
if (${P})
|
if (${P})
|
||||||
list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})
|
list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})
|
||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
foreach(P "${ALIAS_LIBRARY_DIRS}")
|
foreach(P "${ALIAS_LIBRARY_DIRS}")
|
||||||
@ -361,7 +366,7 @@ if(UNIX)
|
|||||||
else()
|
else()
|
||||||
set(HAVE_UNICAP FALSE)
|
set(HAVE_UNICAP FALSE)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(WITH_PVAPI)
|
if(WITH_PVAPI)
|
||||||
find_path(PVAPI_INCLUDE_PATH "PvApi.h"
|
find_path(PVAPI_INCLUDE_PATH "PvApi.h"
|
||||||
PATHS "/usr/local/include" "/usr/include"
|
PATHS "/usr/local/include" "/usr/include"
|
||||||
@ -387,7 +392,7 @@ if(UNIX)
|
|||||||
if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL)
|
if(HAVE_FFMPEG_CODEC AND HAVE_FFMPEG_FORMAT AND HAVE_FFMPEG_UTIL)
|
||||||
if(HAVE_FFMPEG_SWSCALE OR NOT HAVE_GENTOO_FFMPEG)
|
if(HAVE_FFMPEG_SWSCALE OR NOT HAVE_GENTOO_FFMPEG)
|
||||||
set(HAVE_FFMPEG 1)
|
set(HAVE_FFMPEG 1)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
# Find the bzip2 library because it is required on some systems
|
# Find the bzip2 library because it is required on some systems
|
||||||
FIND_LIBRARY(BZIP2_LIBRARIES NAMES bz2 bzip2)
|
FIND_LIBRARY(BZIP2_LIBRARIES NAMES bz2 bzip2)
|
||||||
@ -454,7 +459,7 @@ if(UNIX)
|
|||||||
set(JPEG_FOUND FALSE)
|
set(JPEG_FOUND FALSE)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
if(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD")
|
||||||
set(OPENCV_LINKER_LIBS m pthread)
|
set(OPENCV_LINKER_LIBS m pthread)
|
||||||
else()
|
else()
|
||||||
@ -479,7 +484,7 @@ if(BUILD_NEW_PYTHON_SUPPORT)
|
|||||||
if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
|
if(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
|
||||||
set(PYTHONLIBS_FOUND ON)
|
set(PYTHONLIBS_FOUND ON)
|
||||||
endif(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
|
endif(NOT PYTHONLIBS_FOUND AND PYTHON_INCLUDE_PATH)
|
||||||
|
|
||||||
execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
|
execute_process(COMMAND ${PYTHON_EXECUTABLE} --version
|
||||||
ERROR_VARIABLE PYTHON_VERSION_FULL
|
ERROR_VARIABLE PYTHON_VERSION_FULL
|
||||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
@ -526,7 +531,7 @@ if (WITH_QT)
|
|||||||
find_package(Qt4)
|
find_package(Qt4)
|
||||||
if (QT4_FOUND)
|
if (QT4_FOUND)
|
||||||
set(HAVE_QT 1)
|
set(HAVE_QT 1)
|
||||||
add_definitions(-DHAVE_QT)#We need to define te macro this way, using cvconfig.h.cmake does not work
|
add_definitions(-DHAVE_QT)#We need to define te macro this way, using cvconfig.h.cmake does not work
|
||||||
|
|
||||||
find_package (OpenGL QUIET)
|
find_package (OpenGL QUIET)
|
||||||
|
|
||||||
@ -538,21 +543,21 @@ if (WITH_QT)
|
|||||||
add_definitions(-DHAVE_QT_OPENGL)
|
add_definitions(-DHAVE_QT_OPENGL)
|
||||||
#link_directories("${OPENGL_LIBRARIES}")
|
#link_directories("${OPENGL_LIBRARIES}")
|
||||||
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${OPENGL_LIBRARIES})
|
set(OPENCV_LINKER_LIBS ${OPENCV_LINKER_LIBS} ${OPENGL_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
#endif()
|
#endif()
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
############################### TBB ################################
|
############################### TBB ################################
|
||||||
|
|
||||||
if (WITH_TBB)
|
if (WITH_TBB)
|
||||||
if (UNIX AND NOT APPLE)
|
if (UNIX AND NOT APPLE)
|
||||||
PKG_CHECK_MODULES(TBB tbb)
|
PKG_CHECK_MODULES(TBB tbb)
|
||||||
message(STATUS "TBB detected: ${TBBLIB_FOUND}")
|
message(STATUS "TBB detected: ${TBBLIB_FOUND}")
|
||||||
|
|
||||||
if (TBB_FOUND)
|
if (TBB_FOUND)
|
||||||
set(HAVE_TBB 1)
|
set(HAVE_TBB 1)
|
||||||
if(NOT "${TBB_INCLUDE_DIRS}" STREQUAL "")
|
if(NOT "${TBB_INCLUDE_DIRS}" STREQUAL "")
|
||||||
include_directories("${TBB_INCLUDE_DIRS}")
|
include_directories("${TBB_INCLUDE_DIRS}")
|
||||||
@ -563,19 +568,19 @@ if (WITH_TBB)
|
|||||||
set(TBB_DEFAULT_INCLUDE_DIRS
|
set(TBB_DEFAULT_INCLUDE_DIRS
|
||||||
"/opt/intel/tbb"
|
"/opt/intel/tbb"
|
||||||
"/usr/local/include"
|
"/usr/local/include"
|
||||||
"/usr/include")
|
"/usr/include")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(TBB_DEFAULT_INCLUDE_DIRS
|
set(TBB_DEFAULT_INCLUDE_DIRS
|
||||||
"/usr/local/include"
|
"/usr/local/include"
|
||||||
"/usr/include")
|
"/usr/include")
|
||||||
endif()
|
endif()
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
set(TBB_DEFAULT_INCLUDE_DIRS
|
set(TBB_DEFAULT_INCLUDE_DIRS
|
||||||
"C:/Program Files/Intel/TBB"
|
"C:/Program Files/Intel/TBB"
|
||||||
"C:/Program Files (x86)/Intel/TBB")
|
"C:/Program Files (x86)/Intel/TBB")
|
||||||
endif()
|
endif()
|
||||||
if (NOT HAVE_TBB)
|
if (NOT HAVE_TBB)
|
||||||
find_path(TBB_INCLUDE_DIR "tbb/tbb.h"
|
find_path(TBB_INCLUDE_DIR "tbb/tbb.h"
|
||||||
PATHS TBB_DEFAULT_INCLUDE_DIRS
|
PATHS TBB_DEFAULT_INCLUDE_DIRS
|
||||||
@ -610,7 +615,7 @@ if (WITH_TBB)
|
|||||||
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*)
|
if(${CMAKE_SYSTEM_PROCESSOR} MATCHES x86*)
|
||||||
set(X86 1)
|
set(X86 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(_TBB_LIB_PATH "${TBB_INCLUDE_DIR}/../lib")
|
set(_TBB_LIB_PATH "${TBB_INCLUDE_DIR}/../lib")
|
||||||
if (X86_64)
|
if (X86_64)
|
||||||
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")
|
set(_TBB_LIB_PATH "${_TBB_LIB_PATH}/intel64")
|
||||||
@ -626,7 +631,7 @@ if (WITH_TBB)
|
|||||||
link_directories("${TBB_LIB_DIR}")
|
link_directories("${TBB_LIB_DIR}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(HAVE_TBB 1)
|
set(HAVE_TBB 1)
|
||||||
if(NOT "${TBB_INCLUDE_DIR}" STREQUAL "")
|
if(NOT "${TBB_INCLUDE_DIR}" STREQUAL "")
|
||||||
include_directories("${TBB_INCLUDE_DIR}")
|
include_directories("${TBB_INCLUDE_DIR}")
|
||||||
@ -638,10 +643,33 @@ endif()
|
|||||||
############################### CUDA ################################
|
############################### CUDA ################################
|
||||||
|
|
||||||
if (WITH_CUDA)
|
if (WITH_CUDA)
|
||||||
find_package(CUDA)
|
find_package(CUDA)
|
||||||
if (CUDA_FOUND)
|
if (CUDA_FOUND)
|
||||||
message(STATUS "CUDA detected.")
|
message(STATUS "CUDA detected.")
|
||||||
set(HAVE_CUDA 1)
|
set(HAVE_CUDA 1)
|
||||||
|
|
||||||
|
set(CUDA_COMPUTE_CAPABILITIES " 1.0 1.1 1.2 1.3 2.0 " CACHE STRING "Add or remove compute capability")
|
||||||
|
set(CUDA_NVCC_FLAGS_ARCH ${CUDA_COMPUTE_CAPABILITIES})
|
||||||
|
|
||||||
|
set(CUDA_NVCC_FLAGS_NUM "")
|
||||||
|
|
||||||
|
while(NOT ${CUDA_NVCC_FLAGS_ARCH} STREQUAL "")
|
||||||
|
string(REGEX MATCH "[0-9]+.[0-9]+" RESULT_NUM ${CUDA_NVCC_FLAGS_ARCH})
|
||||||
|
string(REGEX MATCHALL "[0-9]" RESULT_STR ${RESULT_NUM})
|
||||||
|
string(REGEX REPLACE ";" "\ " RESULT ${RESULT_STR})
|
||||||
|
list(APPEND CUDA_NVCC_FLAGS_NUM ${RESULT})
|
||||||
|
string(REGEX REPLACE "${RESULT_NUM}" "\ " CUDA_NVCC_FLAGS_ARCH_STR ${CUDA_NVCC_FLAGS_ARCH})
|
||||||
|
string(STRIP ${CUDA_NVCC_FLAGS_ARCH_STR} CUDA_NVCC_FLAGS_ARCH)
|
||||||
|
endwhile()
|
||||||
|
|
||||||
|
set (OpenCV_CUDA_CC "")
|
||||||
|
set (loop_var "")
|
||||||
|
foreach( loop_var IN LISTS CUDA_NVCC_FLAGS_NUM)
|
||||||
|
set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -gencode arch=compute_${loop_var},code=sm_${loop_var})
|
||||||
|
set (OpenCV_CUDA_CC ${OpenCV_CUDA_CC} -gencode arch=compute_${loop_var},code=sm_${loop_var})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
|
### set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} ${OpenCV_COMPUTE_CAPABILITIES})
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -650,16 +678,16 @@ endif()
|
|||||||
if (WIN32 AND WITH_VIDEOINPUT)
|
if (WIN32 AND WITH_VIDEOINPUT)
|
||||||
if(CMAKE_CXX_COMPILER MATCHES "dw2")
|
if(CMAKE_CXX_COMPILER MATCHES "dw2")
|
||||||
else()
|
else()
|
||||||
if(NOT MINGW64)
|
if(NOT MINGW64)
|
||||||
set(HAVE_VIDEOINPUT 1)
|
set(HAVE_VIDEOINPUT 1)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
############################## Eigen2 ##############################
|
############################## Eigen2 ##############################
|
||||||
|
|
||||||
if(WITH_EIGEN2)
|
if(WITH_EIGEN2)
|
||||||
find_path(EIGEN2_INCLUDE_PATH "Eigen/Core"
|
find_path(EIGEN2_INCLUDE_PATH "Eigen/Core"
|
||||||
PATHS "/usr/local/include/eigen2" "/opt/include/eigen2" "/usr/include/eigen2"
|
PATHS "/usr/local/include/eigen2" "/opt/include/eigen2" "/usr/include/eigen2"
|
||||||
DOC "The path to Eigen2 headers")
|
DOC "The path to Eigen2 headers")
|
||||||
if(EIGEN2_INCLUDE_PATH)
|
if(EIGEN2_INCLUDE_PATH)
|
||||||
@ -723,13 +751,13 @@ if(IPP_FOUND AND USE_IPP)
|
|||||||
add_definitions(-DHAVE_IPP)
|
add_definitions(-DHAVE_IPP)
|
||||||
include_directories("${IPP_PATH}/../include")
|
include_directories("${IPP_PATH}/../include")
|
||||||
link_directories("${IPP_PATH}/../lib")
|
link_directories("${IPP_PATH}/../lib")
|
||||||
|
|
||||||
file(GLOB em64t_files "${IPP_PATH}/../lib/*em64t*")
|
file(GLOB em64t_files "${IPP_PATH}/../lib/*em64t*")
|
||||||
set(IPP_ARCH)
|
set(IPP_ARCH)
|
||||||
if(em64t_files)
|
if(em64t_files)
|
||||||
set(IPP_ARCH "em64t")
|
set(IPP_ARCH "em64t")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(A ${CMAKE_STATIC_LIBRARY_PREFIX})
|
set(A ${CMAKE_STATIC_LIBRARY_PREFIX})
|
||||||
set(B ${IPP_ARCH}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
set(B ${IPP_ARCH}${CMAKE_STATIC_LIBRARY_SUFFIX})
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
@ -754,7 +782,7 @@ set(BUILD_LATEX_DOCS OFF CACHE BOOL "Build LaTeX OpenCV Documentation")
|
|||||||
find_package(Doxygen)
|
find_package(Doxygen)
|
||||||
|
|
||||||
if(DOXYGEN_FOUND)
|
if(DOXYGEN_FOUND)
|
||||||
set(BUILD_DOXYGEN_DOCS ON CACHE BOOL "Generate HTML docs using Doxygen")
|
set(BUILD_DOXYGEN_DOCS ON CACHE BOOL "Generate HTML docs using Doxygen")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# ----------------------------------------------------------------------------
|
# ----------------------------------------------------------------------------
|
||||||
@ -888,7 +916,7 @@ if(CMAKE_COMPILER_IS_GNUCXX)
|
|||||||
#endif()
|
#endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(X86 OR X86_64)
|
if(X86 OR X86_64)
|
||||||
if(NOT APPLE)
|
if(NOT APPLE)
|
||||||
if(${CMAKE_SIZEOF_VOID_P} EQUAL 4)
|
if(${CMAKE_SIZEOF_VOID_P} EQUAL 4)
|
||||||
@ -969,9 +997,9 @@ if (WIN32 AND MSVC)
|
|||||||
string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
string(REPLACE "/EHsc" "/EHsc-" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||||
|
|
||||||
string(REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
string(REPLACE "/Zm1000" " " CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
string(REPLACE "/Zm1000" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
string(REPLACE "/Zm1000" " " CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if("${CMAKE_CONFIGURE_LDFLAGS}")
|
if("${CMAKE_CONFIGURE_LDFLAGS}")
|
||||||
@ -1038,10 +1066,10 @@ endif()
|
|||||||
# -------------------------------------------------------------------------------------------
|
# -------------------------------------------------------------------------------------------
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
# Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
|
# Set CMAKE_INCLUDE_DIRS_CONFIGCMAKE to the list of include directories:
|
||||||
|
|
||||||
# This will expand to, for example, <program files>/OpenCV 1.1.0/include
|
# This will expand to, for example, <program files>/OpenCV 1.1.0/include
|
||||||
set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\"")
|
set(CMAKE_INCLUDE_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/include\" \"\${THIS_OPENCV_CONFIG_PATH}/include/opencv\"")
|
||||||
set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"${THIS_OPENCV_CONFIG_PATH}\"")
|
set(CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE "\"${THIS_OPENCV_CONFIG_PATH}\"")
|
||||||
|
|
||||||
# This will expand to, for example, <program files>/OpenCV 1.1.0/lib
|
# This will expand to, for example, <program files>/OpenCV 1.1.0/lib
|
||||||
set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")
|
set(CMAKE_LIB_DIRS_CONFIGCMAKE "\"\${THIS_OPENCV_CONFIG_PATH}/lib\"")
|
||||||
@ -1097,7 +1125,7 @@ if(BUILD_PACKAGE)
|
|||||||
${CMAKE_BINARY_DIR}/.cpack/Package.cmake
|
${CMAKE_BINARY_DIR}/.cpack/Package.cmake
|
||||||
@ONLY
|
@ONLY
|
||||||
)
|
)
|
||||||
|
|
||||||
include(${CMAKE_BINARY_DIR}/.cpack/Package.cmake)
|
include(${CMAKE_BINARY_DIR}/.cpack/Package.cmake)
|
||||||
|
|
||||||
set(root_files README)
|
set(root_files README)
|
||||||
@ -1115,8 +1143,8 @@ if(BUILD_PACKAGE)
|
|||||||
install(FILES ${root_src_files}
|
install(FILES ${root_src_files}
|
||||||
DESTINATION "."
|
DESTINATION "."
|
||||||
COMPONENT src)
|
COMPONENT src)
|
||||||
# Add the "win-install/OpenCVConfig.cmake" file to the "main" install component
|
# Add the "win-install/OpenCVConfig.cmake" file to the "main" install component
|
||||||
install(FILES
|
install(FILES
|
||||||
"${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake"
|
"${CMAKE_BINARY_DIR}/win-install/OpenCVConfig.cmake"
|
||||||
DESTINATION "."
|
DESTINATION "."
|
||||||
COMPONENT main
|
COMPONENT main
|
||||||
@ -1128,7 +1156,7 @@ if(BUILD_PACKAGE)
|
|||||||
DESTINATION bin COMPONENT main)
|
DESTINATION bin COMPONENT main)
|
||||||
install(FILES ${CMAKE_BINARY_DIR}/lib/Debug/${m}${OPENCV_DLLVERSION}d.lib
|
install(FILES ${CMAKE_BINARY_DIR}/lib/Debug/${m}${OPENCV_DLLVERSION}d.lib
|
||||||
DESTINATION lib COMPONENT main)
|
DESTINATION lib COMPONENT main)
|
||||||
endforeach()
|
endforeach()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
install(DIRECTORY data samples DESTINATION "." COMPONENT main PATTERN ".svn" EXCLUDE)
|
install(DIRECTORY data samples DESTINATION "." COMPONENT main PATTERN ".svn" EXCLUDE)
|
||||||
@ -1136,7 +1164,7 @@ if(BUILD_PACKAGE)
|
|||||||
install(DIRECTORY doc/ DESTINATION doc COMPONENT src FILES_MATCHING PATTERN "*.tex")
|
install(DIRECTORY doc/ DESTINATION doc COMPONENT src FILES_MATCHING PATTERN "*.tex")
|
||||||
install(DIRECTORY doc/pics DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
|
install(DIRECTORY doc/pics DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
|
||||||
install(DIRECTORY doc/plastex DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
|
install(DIRECTORY doc/plastex DESTINATION doc COMPONENT src PATTERN ".svn" EXCLUDE)
|
||||||
|
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -1149,7 +1177,7 @@ add_subdirectory(modules)
|
|||||||
|
|
||||||
if(BUILD_LATEX_DOCS)
|
if(BUILD_LATEX_DOCS)
|
||||||
include(OpenCVFindLATEX.cmake REQUIRED)
|
include(OpenCVFindLATEX.cmake REQUIRED)
|
||||||
|
|
||||||
if(PDFLATEX_COMPILER)
|
if(PDFLATEX_COMPILER)
|
||||||
message(STATUS "PDF LaTeX found!")
|
message(STATUS "PDF LaTeX found!")
|
||||||
endif()
|
endif()
|
||||||
@ -1210,7 +1238,7 @@ else()
|
|||||||
message(STATUS " GThread: ${HAVE_GTHREAD}")
|
message(STATUS " GThread: ${HAVE_GTHREAD}")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
message(STATUS "")
|
message(STATUS "")
|
||||||
message(STATUS " Image I/O: ")
|
message(STATUS " Image I/O: ")
|
||||||
|
@ -3,24 +3,30 @@
|
|||||||
#
|
#
|
||||||
# ** File generated automatically, do not modify **
|
# ** File generated automatically, do not modify **
|
||||||
#
|
#
|
||||||
# Usage from an external project:
|
# Usage from an external project:
|
||||||
# In your CMakeLists.txt, add these lines:
|
# In your CMakeLists.txt, add these lines:
|
||||||
#
|
#
|
||||||
# FIND_PACKAGE(OpenCV REQUIRED )
|
# FIND_PACKAGE(OpenCV REQUIRED )
|
||||||
# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${OpenCV_LIBS})
|
# TARGET_LINK_LIBRARIES(MY_TARGET_NAME ${OpenCV_LIBS})
|
||||||
#
|
#
|
||||||
# This file will define the following variables:
|
# This file will define the following variables:
|
||||||
# - OpenCV_LIBS : The list of libraries to links against.
|
# - OpenCV_LIBS : The list of libraries to links against.
|
||||||
# - OpenCV_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES
|
# - OpenCV_LIB_DIR : The directory where lib files are. Calling LINK_DIRECTORIES
|
||||||
# with this path is NOT needed.
|
# with this path is NOT needed.
|
||||||
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories.
|
# - OpenCV_INCLUDE_DIRS : The OpenCV include directories.
|
||||||
# - OpenCV_VERSION : The version of this OpenCV build. Example: "1.2.0"
|
# - OpenCV_COMPUTE_CAPABILITIES : The version of compute capability
|
||||||
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "1"
|
# - OpenCV_VERSION : The version of this OpenCV build. Example: "1.2.0"
|
||||||
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "2"
|
# - OpenCV_VERSION_MAJOR : Major version part of OpenCV_VERSION. Example: "1"
|
||||||
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "0"
|
# - OpenCV_VERSION_MINOR : Minor version part of OpenCV_VERSION. Example: "2"
|
||||||
|
# - OpenCV_VERSION_PATCH : Patch version part of OpenCV_VERSION. Example: "0"
|
||||||
#
|
#
|
||||||
# ===================================================================================
|
# =================================================================================================
|
||||||
|
|
||||||
|
# ======================================================
|
||||||
|
# Version Compute Capability from which library OpenCV
|
||||||
|
# has been compiled is remembered
|
||||||
|
# ======================================================
|
||||||
|
SET(OpenCV_COMPUTE_CAPABILITIES @OpenCV_CUDA_CC@)
|
||||||
|
|
||||||
# Extract the directory where *this* file has been installed (determined at cmake run-time)
|
# Extract the directory where *this* file has been installed (determined at cmake run-time)
|
||||||
# This variable may or may not be used below, depending on the parsing of OpenCVConfig.cmake
|
# This variable may or may not be used below, depending on the parsing of OpenCVConfig.cmake
|
||||||
@ -68,26 +74,26 @@ if(NOT @CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@ STREQUAL "")
|
|||||||
endforeach(__CVLIB)
|
endforeach(__CVLIB)
|
||||||
endif(NOT @CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@ STREQUAL "")
|
endif(NOT @CMAKE_BASE_INCLUDE_DIRS_CONFIGCMAKE@ STREQUAL "")
|
||||||
|
|
||||||
# For OpenCV built as static libs, we need the user to link against
|
# For OpenCV built as static libs, we need the user to link against
|
||||||
# many more dependencies:
|
# many more dependencies:
|
||||||
IF (NOT @OPENCV_BUILD_SHARED_LIB@)
|
IF (NOT @OPENCV_BUILD_SHARED_LIB@)
|
||||||
# Under static libs, the user of OpenCV needs access to the 3rdparty libs as well:
|
# Under static libs, the user of OpenCV needs access to the 3rdparty libs as well:
|
||||||
LINK_DIRECTORIES("@CMAKE_BINARY_DIR@/3rdparty/lib")
|
LINK_DIRECTORIES("@CMAKE_BINARY_DIR@/3rdparty/lib")
|
||||||
|
|
||||||
SET(OpenCV_LIBS
|
SET(OpenCV_LIBS
|
||||||
@OPENCV_LINKER_LIBS@
|
@OPENCV_LINKER_LIBS@
|
||||||
@IPP_LIBS@
|
@IPP_LIBS@
|
||||||
@JPEG_LIBRARIES@
|
@JPEG_LIBRARIES@
|
||||||
@PNG_LIBRARIES@
|
@PNG_LIBRARIES@
|
||||||
@TIFF_LIBRARIES@
|
@TIFF_LIBRARIES@
|
||||||
@JASPER_LIBRARIES@
|
@JASPER_LIBRARIES@
|
||||||
@HIGHGUI_LIBRARIES@
|
@HIGHGUI_LIBRARIES@
|
||||||
${OpenCV_LIBS}) # The standard libs BEFORE (OpenCV_LIBS) since these can have "debug","optimized".
|
${OpenCV_LIBS}) # The standard libs BEFORE (OpenCV_LIBS) since these can have "debug","optimized".
|
||||||
ENDIF(NOT @OPENCV_BUILD_SHARED_LIB@)
|
ENDIF(NOT @OPENCV_BUILD_SHARED_LIB@)
|
||||||
|
|
||||||
|
|
||||||
# ======================================================
|
# ======================================================
|
||||||
# Version variables:
|
# Version variables:
|
||||||
# ======================================================
|
# ======================================================
|
||||||
SET(OpenCV_VERSION @OPENCV_VERSION@)
|
SET(OpenCV_VERSION @OPENCV_VERSION@)
|
||||||
SET(OpenCV_VERSION_MAJOR @OPENCV_VERSION_MAJOR@)
|
SET(OpenCV_VERSION_MAJOR @OPENCV_VERSION_MAJOR@)
|
||||||
|
@ -36,28 +36,6 @@ if (HAVE_CUDA)
|
|||||||
include_directories(${CUDA_INCLUDE_DIRS})
|
include_directories(${CUDA_INCLUDE_DIRS})
|
||||||
link_directories(${CUDA_LIBRARIES})
|
link_directories(${CUDA_LIBRARIES})
|
||||||
|
|
||||||
set(CUDA_COMPUTE_CAPABILITIES " 1.0 1.1 1.2 1.3 2.0 " CACHE STRING "Add or remove compute capability")
|
|
||||||
set(CUDA_NVCC_FLAGS_ARCH ${CUDA_COMPUTE_CAPABILITIES})
|
|
||||||
|
|
||||||
set(CUDA_NVCC_FLAGS_NUM "")
|
|
||||||
|
|
||||||
while(NOT ${CUDA_NVCC_FLAGS_ARCH} STREQUAL "")
|
|
||||||
string(REGEX MATCH "[0-9]+.[0-9]+" RESULT_NUM ${CUDA_NVCC_FLAGS_ARCH})
|
|
||||||
string(REGEX MATCHALL "[0-9]" RESULT_STR ${RESULT_NUM})
|
|
||||||
string(REGEX REPLACE ";" "\ " RESULT ${RESULT_STR})
|
|
||||||
list(APPEND CUDA_NVCC_FLAGS_NUM ${RESULT})
|
|
||||||
string(REGEX REPLACE "${RESULT_NUM}" "\ " CUDA_NVCC_FLAGS_ARCH_STR ${CUDA_NVCC_FLAGS_ARCH})
|
|
||||||
string(STRIP ${CUDA_NVCC_FLAGS_ARCH_STR} CUDA_NVCC_FLAGS_ARCH)
|
|
||||||
endwhile()
|
|
||||||
|
|
||||||
set (loop_var "")
|
|
||||||
foreach( loop_var IN LISTS CUDA_NVCC_FLAGS_NUM)
|
|
||||||
set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} -gencode arch=compute_${loop_var},code=sm_${loop_var})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
message(STATUS " CUDA_NVCC_FLAGS: ${CUDA_NVCC_FLAGS} ")
|
|
||||||
|
|
||||||
|
|
||||||
if (UNIX OR APPLE)
|
if (UNIX OR APPLE)
|
||||||
set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;-fPIC;")
|
set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;-fPIC;")
|
||||||
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" "-fPIC")
|
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" "-fPIC")
|
||||||
@ -66,7 +44,7 @@ if (HAVE_CUDA)
|
|||||||
|
|
||||||
#set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-keep")
|
#set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-keep")
|
||||||
#set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;/EHsc-;")
|
#set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS} "-Xcompiler;/EHsc-;")
|
||||||
|
|
||||||
string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
string(REPLACE "/W4" "/W3" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user