Commit 8cab65c1 authored by Andrey Kamaev's avatar Andrey Kamaev

Started top-level CMakeLists.txt file reorganization: cmake scripts are moved to…

Started top-level CMakeLists.txt file reorganization: cmake scripts are moved to separate folder; refactored BUILD_*, INSTALL_*, ENABLE_*, USE_*, WITH_* options.
parent 60eecd45
This diff is collapsed.
...@@ -4,75 +4,9 @@ ...@@ -4,75 +4,9 @@
# cmake -C # cmake -C
######################## ########################
#Build shared libraries (.dll/.so CACHE BOOL "" ) instead of static ones (.lib/.a CACHE BOOL "" )
set(BUILD_SHARED_LIBS OFF CACHE BOOL "" )
#Build 3rd party libraries
set(OPENCV_BUILD_3RDPARTY_LIBS ON CACHE BOOL "" )
#Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel. #Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel.
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" ) set(CMAKE_BUILD_TYPE "Release" CACHE STRING "" )
#Include IEEE1394 support
set(WITH_1394 OFF CACHE BOOL "" )
#Include NVidia Cuda Runtime support
set(WITH_CUDA OFF CACHE BOOL "" )
#Include Eigen2/Eigen3 support
set(WITH_EIGEN2 OFF CACHE BOOL "" )
#Include FFMPEG support
set(WITH_FFMPEG OFF CACHE BOOL "" )
#Include Gstreamer support
set(WITH_GSTREAMER OFF CACHE BOOL "" )
#Include GTK support
set(WITH_GTK OFF CACHE BOOL "" )
#Include Intel IPP support
set(WITH_IPP OFF CACHE BOOL "" )
#Include JPEG2K support
set(WITH_JASPER ON CACHE BOOL "" )
#Include JPEG support
set(WITH_JPEG ON CACHE BOOL "" )
#Include ILM support via OpenEXR
set(WITH_OPENEXR OFF CACHE BOOL "" )
#Include OpenNI support
set(WITH_OPENNI OFF CACHE BOOL "" )
#Include PNG support
set(WITH_PNG ON CACHE BOOL "" )
#Include Prosilica GigE support
set(WITH_PVAPI OFF CACHE BOOL "" )
#Build with Qt Backend support
set(WITH_QT OFF CACHE BOOL "" )
#Add OpenGL support
set(WITH_OPENGL OFF CACHE BOOL "" )
#Include Intel TBB support
set(WITH_TBB OFF CACHE BOOL "" )
#Include TIFF support
set(WITH_TIFF ON CACHE BOOL "" )
#Include Unicap support (GPL CACHE BOOL "" )
set(WITH_UNICAP OFF CACHE BOOL "" )
#Include Video 4 Linux support
set(WITH_V4L OFF CACHE BOOL "" )
#Include Xine support (GPL CACHE BOOL "" )
set(WITH_XINE OFF CACHE BOOL "" )
#no python available on Android #no python available on Android
set(BUILD_NEW_PYTHON_SUPPORT OFF CACHE INTERNAL "" FORCE) set(BUILD_NEW_PYTHON_SUPPORT OFF CACHE INTERNAL "" FORCE)
......
# - Find Latex # - Find Latex
# This module finds if Latex is installed and determines where the # This module finds if Latex is installed and determines where the
# executables are. This code sets the following variables: # executables are. This code sets the following variables:
# #
# LATEX_COMPILER: path to the LaTeX compiler # LATEX_COMPILER: path to the LaTeX compiler
# PDFLATEX_COMPILER: path to the PdfLaTeX compiler # PDFLATEX_COMPILER: path to the PdfLaTeX compiler
# BIBTEX_COMPILER: path to the BibTeX compiler # BIBTEX_COMPILER: path to the BibTeX compiler
# MAKEINDEX_COMPILER: path to the MakeIndex compiler # MAKEINDEX_COMPILER: path to the MakeIndex compiler
# DVIPS_CONVERTER: path to the DVIPS converter # DVIPS_CONVERTER: path to the DVIPS converter
# PS2PDF_CONVERTER: path to the PS2PDF converter # PS2PDF_CONVERTER: path to the PS2PDF converter
# LATEX2HTML_CONVERTER: path to the LaTeX2Html converter # LATEX2HTML_CONVERTER: path to the LaTeX2Html converter
# #
IF (WIN32) IF (WIN32)
...@@ -17,7 +17,7 @@ IF (WIN32) ...@@ -17,7 +17,7 @@ IF (WIN32)
FIND_PATH(MIKTEX_BINARY_PATH mpm.exe FIND_PATH(MIKTEX_BINARY_PATH mpm.exe
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MiK\\MiKTeX\\CurrentVersion\\MiKTeX;Install Root]/miktex/bin"
DOC DOC
"Path to the MikTex binary directory." "Path to the MikTex binary directory."
) )
MARK_AS_ADVANCED(MIKTEX_BINARY_PATH) MARK_AS_ADVANCED(MIKTEX_BINARY_PATH)
......
...@@ -4,14 +4,14 @@ ...@@ -4,14 +4,14 @@
# Try to find OpenEXR's libraries, and include path. # Try to find OpenEXR's libraries, and include path.
# Once done this will define: # Once done this will define:
# #
# OPENEXR_FOUND = OpenEXR found. # OPENEXR_FOUND = OpenEXR found.
# OPENEXR_INCLUDE_PATHS = OpenEXR include directories. # OPENEXR_INCLUDE_PATHS = OpenEXR include directories.
# OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR. # OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR.
# #
SET(OPENEXR_LIBRARIES) SET(OPENEXR_LIBRARIES)
SET(LIBRARY_PATHS SET(LIBRARY_PATHS
/usr/lib /usr/lib
/usr/local/lib /usr/local/lib
/sw/lib /sw/lib
...@@ -25,11 +25,11 @@ FIND_PATH(OPENEXR_INCLUDE_PATH ImfRgbaFile.h ...@@ -25,11 +25,11 @@ FIND_PATH(OPENEXR_INCLUDE_PATH ImfRgbaFile.h
/sw/include /sw/include
/opt/local/include) /opt/local/include)
FIND_LIBRARY(OPENEXR_HALF_LIBRARY FIND_LIBRARY(OPENEXR_HALF_LIBRARY
NAMES Half NAMES Half
PATHS ${LIBRARY_PATHS}) PATHS ${LIBRARY_PATHS})
FIND_LIBRARY(OPENEXR_IEX_LIBRARY FIND_LIBRARY(OPENEXR_IEX_LIBRARY
NAMES Iex NAMES Iex
PATHS ${LIBRARY_PATHS}) PATHS ${LIBRARY_PATHS})
......
...@@ -28,7 +28,7 @@ if(OPENNI_LIBRARY AND OPENNI_INCLUDES) ...@@ -28,7 +28,7 @@ if(OPENNI_LIBRARY AND OPENNI_INCLUDES)
elseif(UNIX OR APPLE) elseif(UNIX OR APPLE)
find_library(OPENNI_PRIME_SENSOR_MODULE "XnCore" PATHS "/usr/lib" DOC "Core library of PrimeSensor Modules for OpenNI") find_library(OPENNI_PRIME_SENSOR_MODULE "XnCore" PATHS "/usr/lib" DOC "Core library of PrimeSensor Modules for OpenNI")
endif() endif()
if(OPENNI_PRIME_SENSOR_MODULE) if(OPENNI_PRIME_SENSOR_MODULE)
set(HAVE_OPENNI_PRIME_SENSOR_MODULE TRUE) set(HAVE_OPENNI_PRIME_SENSOR_MODULE TRUE)
endif() endif()
......
...@@ -77,13 +77,13 @@ ...@@ -77,13 +77,13 @@
# #
# Redistribution and use, with or without modification, are permitted # Redistribution and use, with or without modification, are permitted
# provided that the following conditions are met: # provided that the following conditions are met:
# #
# 1. Redistributions must retain the above copyright notice, this # 1. Redistributions must retain the above copyright notice, this
# list of conditions and the following disclaimer. # list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote # 2. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior # products derived from this software without specific prior
# written permission. # written permission.
# #
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR # THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
...@@ -156,7 +156,7 @@ endmacro(_pkgconfig_invoke_dyn) ...@@ -156,7 +156,7 @@ endmacro(_pkgconfig_invoke_dyn)
# Splits given arguments into options and a package list # Splits given arguments into options and a package list
macro(_pkgconfig_parse_options _result _is_req) macro(_pkgconfig_parse_options _result _is_req)
set(${_is_req} 0) set(${_is_req} 0)
foreach(_pkg ${ARGN}) foreach(_pkg ${ARGN})
if (_pkg STREQUAL "REQUIRED") if (_pkg STREQUAL "REQUIRED")
set(${_is_req} 1) set(${_is_req} 1)
...@@ -203,7 +203,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix) ...@@ -203,7 +203,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
message(STATUS "checking for modules '${_pkg_check_modules_list}'") message(STATUS "checking for modules '${_pkg_check_modules_list}'")
endif(_pkg_check_modules_cnt EQUAL 1) endif(_pkg_check_modules_cnt EQUAL 1)
endif(NOT ${_is_silent}) endif(NOT ${_is_silent})
set(_pkg_check_modules_packages) set(_pkg_check_modules_packages)
set(_pkg_check_modules_failed) set(_pkg_check_modules_failed)
...@@ -230,14 +230,14 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix) ...@@ -230,14 +230,14 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
if (_pkg_check_modules_pkg_op STREQUAL "=") if (_pkg_check_modules_pkg_op STREQUAL "=")
list(APPEND _pkg_check_modules_exist_query --exact-version) list(APPEND _pkg_check_modules_exist_query --exact-version)
endif(_pkg_check_modules_pkg_op STREQUAL "=") endif(_pkg_check_modules_pkg_op STREQUAL "=")
if (_pkg_check_modules_pkg_op STREQUAL "<=") if (_pkg_check_modules_pkg_op STREQUAL "<=")
list(APPEND _pkg_check_modules_exist_query --max-version) list(APPEND _pkg_check_modules_exist_query --max-version)
endif(_pkg_check_modules_pkg_op STREQUAL "<=") endif(_pkg_check_modules_pkg_op STREQUAL "<=")
# create the final query which is of the format: # create the final query which is of the format:
# * --atleast-version <version> <pkg-name> # * --atleast-version <version> <pkg-name>
# * --exact-version <version> <pkg-name> # * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name> # * --max-version <version> <pkg-name>
# * --exists <pkg-name> # * --exists <pkg-name>
if (_pkg_check_modules_pkg_op) if (_pkg_check_modules_pkg_op)
...@@ -277,7 +277,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix) ...@@ -277,7 +277,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
else(_pkg_check_modules_failed) else(_pkg_check_modules_failed)
# when we are here, we checked whether requested modules # when we are here, we checked whether requested modules
# exist. Now, go through them and set variables # exist. Now, go through them and set variables
_pkgconfig_set(${_prefix}_FOUND 1) _pkgconfig_set(${_prefix}_FOUND 1)
list(LENGTH _pkg_check_modules_packages pkg_count) list(LENGTH _pkg_check_modules_packages pkg_count)
...@@ -289,7 +289,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix) ...@@ -289,7 +289,7 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
else(pkg_count EQUAL 1) else(pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}") set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
endif(pkg_count EQUAL 1) endif(pkg_count EQUAL 1)
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion ) _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix ) _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir ) _pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
...@@ -355,9 +355,9 @@ macro(pkg_search_module _prefix _module0) ...@@ -355,9 +355,9 @@ macro(pkg_search_module _prefix _module0)
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found") message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
endif(${_pkg_is_required}) endif(${_pkg_is_required})
endif(NOT ${_prefix}_FOUND) endif(NOT ${_prefix}_FOUND)
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION}) _pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND) endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
endmacro(pkg_search_module) endmacro(pkg_search_module)
### Local Variables: ### Local Variables:
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
# This module finds if XIMEA Software package is installed # This module finds if XIMEA Software package is installed
# and determines where the binaries and header files are. # and determines where the binaries and header files are.
# This code sets the following variables: # This code sets the following variables:
# #
# XIMEA_FOUND - True if XIMEA API found # XIMEA_FOUND - True if XIMEA API found
# XIMEA_PATH: - Path to the XIMEA API folder # XIMEA_PATH: - Path to the XIMEA API folder
# XIMEA_LIBRARY_DIRS - XIMEA libraries folder # XIMEA_LIBRARY_DIR - XIMEA libraries folder
# #
# Created: 5 Aug 2011 by Marian Zajko (marian.zajko@ximea.com) # Created: 5 Aug 2011 by Marian Zajko (marian.zajko@ximea.com)
# #
...@@ -14,22 +14,22 @@ set(XIMEA_FOUND) ...@@ -14,22 +14,22 @@ set(XIMEA_FOUND)
set(XIMEA_PATH) set(XIMEA_PATH)
set(XIMEA_LIBRARY_DIR) set(XIMEA_LIBRARY_DIR)
# Try to find the XIMEA API path in registry. if(WIN32)
GET_FILENAME_COMPONENT(XIMEA_PATH "[HKEY_CURRENT_USER\\Software\\XIMEA\\CamSupport\\API;Path]" ABSOLUTE) # Try to find the XIMEA API path in registry.
GET_FILENAME_COMPONENT(XIMEA_PATH "[HKEY_CURRENT_USER\\Software\\XIMEA\\CamSupport\\API;Path]" ABSOLUTE)
if(XIMEA_PATH)
set(XIMEA_FOUND 1)
if(XIMEA_PATH) # set LIB folders
set(XIMEA_FOUND 1) set(XIMEA_LIBRARY_DIR "${XIMEA_PATH}\\x86")
# set LIB folders else()
set(XIMEA_LIBRARY_DIR "${XIMEA_PATH}\\x86") set(XIMEA_FOUND 0)
endif()
else() endif()
set(XIMEA_FOUND 0)
endif()
mark_as_advanced(FORCE XIMEA_FOUND) mark_as_advanced(FORCE XIMEA_FOUND)
mark_as_advanced(FORCE XIMEA_PATH) mark_as_advanced(FORCE XIMEA_PATH)
mark_as_advanced(FORCE XIMEA_LIBRARY_DIR) mark_as_advanced(FORCE XIMEA_LIBRARY_DIR)
\ No newline at end of file
...@@ -9,7 +9,7 @@ macro(add_opencv_precompiled_headers the_target) ...@@ -9,7 +9,7 @@ macro(add_opencv_precompiled_headers the_target)
SET(pch_name "src/precomp") SET(pch_name "src/precomp")
endif() endif()
set(pch_header "${CMAKE_CURRENT_SOURCE_DIR}/${pch_name}.hpp") set(pch_header "${CMAKE_CURRENT_SOURCE_DIR}/${pch_name}.hpp")
if(PCHSupport_FOUND AND USE_PRECOMPILED_HEADERS AND EXISTS "${pch_header}") if(PCHSupport_FOUND AND ENABLE_PRECOMPILED_HEADERS AND EXISTS "${pch_header}")
if(CMAKE_GENERATOR MATCHES Visual) if(CMAKE_GENERATOR MATCHES Visual)
set(${the_target}_pch "${CMAKE_CURRENT_SOURCE_DIR}/${pch_name}.cpp") set(${the_target}_pch "${CMAKE_CURRENT_SOURCE_DIR}/${pch_name}.cpp")
add_native_precompiled_header(${the_target} ${pch_header}) add_native_precompiled_header(${the_target} ${pch_header})
...@@ -43,7 +43,7 @@ macro(define_opencv_perf_test name) ...@@ -43,7 +43,7 @@ macro(define_opencv_perf_test name)
file(GLOB perf_srcs "${perf_path}/*.cpp") file(GLOB perf_srcs "${perf_path}/*.cpp")
file(GLOB perf_hdrs "${perf_path}/*.h*") file(GLOB perf_hdrs "${perf_path}/*.h*")
source_group("Src" FILES ${perf_srcs}) source_group("Src" FILES ${perf_srcs})
source_group("Include" FILES ${perf_hdrs}) source_group("Include" FILES ${perf_hdrs})
...@@ -58,7 +58,7 @@ macro(define_opencv_perf_test name) ...@@ -58,7 +58,7 @@ macro(define_opencv_perf_test name)
if(ENABLE_SOLUTION_FOLDERS) if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "performance tests") set_target_properties(${the_target} PROPERTIES FOLDER "performance tests")
endif() endif()
add_dependencies(${the_target} ${perf_deps}) add_dependencies(${the_target} ${perf_deps})
target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} ${perf_deps}) target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} ${perf_deps})
...@@ -68,7 +68,7 @@ macro(define_opencv_perf_test name) ...@@ -68,7 +68,7 @@ macro(define_opencv_perf_test name)
if (PYTHON_EXECUTABLE) if (PYTHON_EXECUTABLE)
add_dependencies(perf ${the_target}) add_dependencies(perf ${the_target})
endif() endif()
endif() endif()
endmacro() endmacro()
# this is a template for a OpenCV regression tests # this is a template for a OpenCV regression tests
...@@ -92,7 +92,7 @@ macro(define_opencv_test name) ...@@ -92,7 +92,7 @@ macro(define_opencv_test name)
file(GLOB test_srcs "${test_path}/*.cpp") file(GLOB test_srcs "${test_path}/*.cpp")
file(GLOB test_hdrs "${test_path}/*.h*") file(GLOB test_hdrs "${test_path}/*.h*")
source_group("Src" FILES ${test_srcs}) source_group("Src" FILES ${test_srcs})
source_group("Include" FILES ${test_hdrs}) source_group("Include" FILES ${test_hdrs})
...@@ -107,7 +107,7 @@ macro(define_opencv_test name) ...@@ -107,7 +107,7 @@ macro(define_opencv_test name)
if(ENABLE_SOLUTION_FOLDERS) if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "tests") set_target_properties(${the_target} PROPERTIES FOLDER "tests")
endif() endif()
add_dependencies(${the_target} ${test_deps}) add_dependencies(${the_target} ${test_deps})
target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} ${test_deps}) target_link_libraries(${the_target} ${OPENCV_LINKER_LIBS} ${test_deps})
...@@ -126,13 +126,13 @@ endmacro() ...@@ -126,13 +126,13 @@ endmacro()
# this is a template for a OpenCV module # this is a template for a OpenCV module
# define_opencv_module(<module_name> <dependencies>) # define_opencv_module(<module_name> <dependencies>)
macro(define_opencv_module name) macro(define_opencv_module name)
project(opencv_${name}) project(opencv_${name})
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include" include_directories("${CMAKE_CURRENT_SOURCE_DIR}/include"
"${CMAKE_CURRENT_SOURCE_DIR}/src" "${CMAKE_CURRENT_SOURCE_DIR}/src"
"${CMAKE_CURRENT_BINARY_DIR}") "${CMAKE_CURRENT_BINARY_DIR}")
foreach(d ${ARGN}) foreach(d ${ARGN})
if(d MATCHES "opencv_") if(d MATCHES "opencv_")
string(REPLACE "opencv_" "${OpenCV_SOURCE_DIR}/modules/" d_dir ${d}) string(REPLACE "opencv_" "${OpenCV_SOURCE_DIR}/modules/" d_dir ${d})
...@@ -153,7 +153,7 @@ macro(define_opencv_module name) ...@@ -153,7 +153,7 @@ macro(define_opencv_module name)
source_group("Src" FILES ${lib_srcs} ${lib_int_hdrs}) source_group("Src" FILES ${lib_srcs} ${lib_int_hdrs})
source_group("Include" FILES ${lib_hdrs}) source_group("Include" FILES ${lib_hdrs})
source_group("Include\\detail" FILES ${lib_hdrs_detail}) source_group("Include\\detail" FILES ${lib_hdrs_detail})
list(APPEND lib_hdrs ${lib_hdrs_detail}) list(APPEND lib_hdrs ${lib_hdrs_detail})
set(the_target "opencv_${name}") set(the_target "opencv_${name}")
...@@ -173,17 +173,17 @@ macro(define_opencv_module name) ...@@ -173,17 +173,17 @@ macro(define_opencv_module name)
) )
endif() endif()
set_target_properties(${the_target} PROPERTIES OUTPUT_NAME "${the_target}${OPENCV_DLLVERSION}" ) set_target_properties(${the_target} PROPERTIES OUTPUT_NAME "${the_target}${OPENCV_DLLVERSION}" )
if(ENABLE_SOLUTION_FOLDERS) if(ENABLE_SOLUTION_FOLDERS)
set_target_properties(${the_target} PROPERTIES FOLDER "modules") set_target_properties(${the_target} PROPERTIES FOLDER "modules")
endif() endif()
if (BUILD_SHARED_LIBS) if (BUILD_SHARED_LIBS)
if(MSVC) if(MSVC)
set_target_properties(${the_target} PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS) set_target_properties(${the_target} PROPERTIES DEFINE_SYMBOL CVAPI_EXPORTS)
else() else()
add_definitions(-DCVAPI_EXPORTS) add_definitions(-DCVAPI_EXPORTS)
endif() endif()
endif() endif()
...@@ -222,7 +222,7 @@ macro(define_opencv_module name) ...@@ -222,7 +222,7 @@ macro(define_opencv_module name)
install(FILES ${lib_hdrs} install(FILES ${lib_hdrs}
DESTINATION ${OPENCV_INCLUDE_PREFIX}/opencv2/${name} DESTINATION ${OPENCV_INCLUDE_PREFIX}/opencv2/${name}
COMPONENT main) COMPONENT main)
add_opencv_precompiled_headers(${the_target}) add_opencv_precompiled_headers(${the_target})
define_opencv_test(${name}) define_opencv_test(${name})
......
...@@ -211,7 +211,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input) ...@@ -211,7 +211,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
_PCH_WRITE_PCHDEP_CXX(${_targetName} "${_input}" _pch_dephelp_cxx) _PCH_WRITE_PCHDEP_CXX(${_targetName} "${_input}" _pch_dephelp_cxx)
ADD_LIBRARY(${_targetName}_pch_dephelp STATIC "${_pch_dephelp_cxx}" "${_input}" ) ADD_LIBRARY(${_targetName}_pch_dephelp STATIC "${_pch_dephelp_cxx}" "${_input}" )
set_target_properties(${_targetName}_pch_dephelp PROPERTIES set_target_properties(${_targetName}_pch_dephelp PROPERTIES
DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"
ARCHIVE_OUTPUT_DIRECTORY "${LIBRARY_OUTPUT_PATH}" ARCHIVE_OUTPUT_DIRECTORY "${LIBRARY_OUTPUT_PATH}"
...@@ -221,7 +221,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input) ...@@ -221,7 +221,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
#MESSAGE("_compile_FLAGS: ${_compile_FLAGS}") #MESSAGE("_compile_FLAGS: ${_compile_FLAGS}")
#message("COMMAND ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input}") #message("COMMAND ${CMAKE_CXX_COMPILER} ${_compile_FLAGS} -x c++-header -o ${_output} ${_input}")
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_name}" OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_name}"
COMMAND ${CMAKE_COMMAND} -E copy "${_input}" "${CMAKE_CURRENT_BINARY_DIR}/${_name}" # ensure same directory! Required by gcc COMMAND ${CMAKE_COMMAND} -E copy "${_input}" "${CMAKE_CURRENT_BINARY_DIR}/${_name}" # ensure same directory! Required by gcc
...@@ -242,7 +242,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input) ...@@ -242,7 +242,7 @@ MACRO(ADD_PRECOMPILED_HEADER _targetName _input)
) )
ADD_PRECOMPILED_HEADER_TO_TARGET(${_targetName} ${_input} ${_output} ${_dowarn}) ADD_PRECOMPILED_HEADER_TO_TARGET(${_targetName} ${_input} ${_output} ${_dowarn})
ENDMACRO(ADD_PRECOMPILED_HEADER) ENDMACRO(ADD_PRECOMPILED_HEADER)
...@@ -280,7 +280,7 @@ MACRO(ADD_NATIVE_PRECOMPILED_HEADER _targetName _input) ...@@ -280,7 +280,7 @@ MACRO(ADD_NATIVE_PRECOMPILED_HEADER _targetName _input)
ENDIF() ENDIF()
if(CMAKE_GENERATOR MATCHES "^Visual.*$") if(CMAKE_GENERATOR MATCHES "^Visual.*$")
# Auto include the precompile (useful for moc processing, since the use of # Auto include the precompile (useful for moc processing, since the use of
# precompiled is specified at the target level # precompiled is specified at the target level
# and I don't want to specifiy /F- for each moc/res/ui generated files (using Qt) # and I don't want to specifiy /F- for each moc/res/ui generated files (using Qt)
...@@ -297,7 +297,7 @@ MACRO(ADD_NATIVE_PRECOMPILED_HEADER _targetName _input) ...@@ -297,7 +297,7 @@ MACRO(ADD_NATIVE_PRECOMPILED_HEADER _targetName _input)
SET_SOURCE_FILES_PROPERTIES(${${_targetName}_pch} PROPERTIES COMPILE_FLAGS "${oldProps} /Yc\"${_input}\"") SET_SOURCE_FILES_PROPERTIES(${${_targetName}_pch} PROPERTIES COMPILE_FLAGS "${oldProps} /Yc\"${_input}\"")
elseif (CMAKE_GENERATOR MATCHES Xcode) elseif (CMAKE_GENERATOR MATCHES Xcode)
# For Xcode, cmake needs my patch to process # For Xcode, cmake needs my patch to process
# GCC_PREFIX_HEADER and GCC_PRECOMPILE_PREFIX_HEADER as target properties # GCC_PREFIX_HEADER and GCC_PRECOMPILE_PREFIX_HEADER as target properties
......
# Search packages for host system instead of packages for target system
# in case of cross compilation thess macro should be defined by toolchain file
if(NOT COMMAND find_host_package)
macro(find_host_package)
find_package(${ARGN})
endmacro()
endif()
if(NOT COMMAND find_host_program)
macro(find_host_program)
find_program(${ARGN})
endmacro()
endif()
# Provides an option that the user can optionally select.
# Can accept condition to control when option is available for user.
# Usage:
# option(<option_variable> "help string describing option" <initial value> [IF <condition>])
macro(OCV_OPTION variable description value)
SET(__condition ${ARGN})
if("${__condition}" STREQUAL "")
SET(__condition 1)
endif()
list(REMOVE_ITEM __condition "IF" "if")
if(${__condition})
OPTION(${variable} "${description}" ${value})
else()
UNSET(${variable} CACHE)
endif()
UNSET(__condition)
endmacro()
# Macros that checks if module have been installed.
# After it adds module to build and define
# constants passed as second arg
macro(CHECK_MODULE module_name define)
set(${define} 0)
if(PKG_CONFIG_FOUND)
set(ALIAS ALIASOF_${module_name})
set(ALIAS_FOUND ${ALIAS}_FOUND)
set(ALIAS_INCLUDE_DIRS ${ALIAS}_INCLUDE_DIRS)
set(ALIAS_LIBRARY_DIRS ${ALIAS}_LIBRARY_DIRS)
set(ALIAS_LIBRARIES ${ALIAS}_LIBRARIES)
PKG_CHECK_MODULES(${ALIAS} ${module_name})
if (${ALIAS_FOUND})
set(${define} 1)
foreach(P "${ALIAS_INCLUDE_DIRS}")
if (${P})
list(APPEND HIGHGUI_INCLUDE_DIRS ${${P}})
endif()
endforeach()
foreach(P "${ALIAS_LIBRARY_DIRS}")
if (${P})
list(APPEND HIGHGUI_LIBRARY_DIRS ${${P}})
endif()
endforeach()
list(APPEND HIGHGUI_LIBRARIES ${${ALIAS_LIBRARIES}})
endif()
endif()
endmacro()
# Status report macro.
# Automatically align right column and selects text based on condition.
# Usage:
# status(<text>)
# status(<heading> <value1> [<value2> ...])
# status(<heading> <condition> THEN <text for TRUE> ELSE <text for FALSE> )
macro(status text)
SET(status_cond)
SET(status_then)
SET(status_else)
SET(status_current_name "cond")
foreach(arg ${ARGN})
if(arg STREQUAL "THEN")
SET(status_current_name "then")
elseif(arg STREQUAL "ELSE")
SET(status_current_name "else")
else()
LIST(APPEND status_${status_current_name} ${arg})
endif()
endforeach()
if(DEFINED status_cond)
SET(status_placeholder_length 32)
string(RANDOM LENGTH ${status_placeholder_length} ALPHABET " " status_placeholder)
string(LENGTH "${text}" status_text_length)
if (status_text_length LESS status_placeholder_length)
string(SUBSTRING "${text}${status_placeholder}" 0 ${status_placeholder_length} status_text)
elseif (DEFINED status_then OR DEFINED status_else)
message(STATUS "${text}")
SET(status_text "${status_placeholder}")
else()
SET(status_text "${text}")
endif()
if (DEFINED status_then OR DEFINED status_else)
if(${status_cond})
string(REPLACE ";" " " status_then "${status_then}")
message(STATUS "${status_text}" "${status_then}")
else()
string(REPLACE ";" " " status_else "${status_else}")
message(STATUS "${status_text}" "${status_else}")
endif()
else()
string(REPLACE ";" " " status_cond "${status_cond}")
message(STATUS "${status_text}" "${status_cond}")
endif()
else()
message(STATUS "${text}")
endif()
endmacro()
set(OpenCV_VERSION @OPENCV_VERSION@) set(OpenCV_VERSION @OPENCV_VERSION@)
set(PACKAGE_VERSION ${OpenCV_VERSION}) set(PACKAGE_VERSION ${OpenCV_VERSION})
set(PACKAGE_VERSION_EXACT False) set(PACKAGE_VERSION_EXACT False)
set(PACKAGE_VERSION_COMPATIBLE False) set(PACKAGE_VERSION_COMPATIBLE False)
if(PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION) if(PACKAGE_FIND_VERSION VERSION_EQUAL PACKAGE_VERSION)
set(PACKAGE_VERSION_EXACT True) set(PACKAGE_VERSION_EXACT True)
set(PACKAGE_VERSION_COMPATIBLE True) set(PACKAGE_VERSION_COMPATIBLE True)
endif() endif()
if(PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION) if(PACKAGE_FIND_VERSION VERSION_LESS PACKAGE_VERSION)
set(PACKAGE_VERSION_COMPATIBLE True) set(PACKAGE_VERSION_COMPATIBLE True)
endif() endif()
...@@ -163,9 +163,6 @@ ...@@ -163,9 +163,6 @@
/* Intel Threading Building Blocks */ /* Intel Threading Building Blocks */
#cmakedefine HAVE_TBB #cmakedefine HAVE_TBB
/* Threading Framework --- temporary decision for ARM instead of Intel TBB */
#cmakedefine HAVE_THREADING_FRAMEWORK
/* Eigen Matrix & Linear Algebra Library */ /* Eigen Matrix & Linear Algebra Library */
#cmakedefine HAVE_EIGEN #cmakedefine HAVE_EIGEN
......
...@@ -198,19 +198,6 @@ CV_INLINE IppiSize ippiSize(int width, int height) ...@@ -198,19 +198,6 @@ CV_INLINE IppiSize ippiSize(int width, int height)
int _begin, _end, _grainsize; int _begin, _end, _grainsize;
}; };
#ifdef HAVE_THREADING_FRAMEWORK
#include "opencv2/core/threading_framework.hpp"
template<typename Body>
static void parallel_for( const BlockedRange& range, const Body& body )
{
tf::parallel_for<Body>(range, body);
}
typedef tf::ConcurrentVector<Rect> ConcurrentRectVector;
typedef tf::ConcurrentVector<double> ConcurrentDoubleVector;
#else
template<typename Body> static inline template<typename Body> static inline
void parallel_for( const BlockedRange& range, const Body& body ) void parallel_for( const BlockedRange& range, const Body& body )
{ {
...@@ -218,7 +205,6 @@ CV_INLINE IppiSize ippiSize(int width, int height) ...@@ -218,7 +205,6 @@ CV_INLINE IppiSize ippiSize(int width, int height)
} }
typedef std::vector<Rect> ConcurrentRectVector; typedef std::vector<Rect> ConcurrentRectVector;
typedef std::vector<double> ConcurrentDoubleVector; typedef std::vector<double> ConcurrentDoubleVector;
#endif
template<typename Iterator, typename Body> static inline template<typename Iterator, typename Body> static inline
void parallel_do( Iterator first, Iterator last, const Body& body ) void parallel_do( Iterator first, Iterator last, const Body& body )
......
...@@ -1076,7 +1076,7 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector<Rect>& object ...@@ -1076,7 +1076,7 @@ void CascadeClassifier::detectMultiScale( const Mat& image, vector<Rect>& object
int stripCount, stripSize; int stripCount, stripSize;
#if defined(HAVE_TBB) || defined(HAVE_THREADING_FRAMEWORK) #ifdef HAVE_TBB
const int PTS_PER_THREAD = 1000; const int PTS_PER_THREAD = 1000;
stripCount = ((processingRectSize.width/yStep)*(processingRectSize.height + yStep-1)/yStep + PTS_PER_THREAD/2)/PTS_PER_THREAD; stripCount = ((processingRectSize.width/yStep)*(processingRectSize.height + yStep-1)/yStep + PTS_PER_THREAD/2)/PTS_PER_THREAD;
stripCount = std::min(std::max(stripCount, 1), 100); stripCount = std::min(std::max(stripCount, 1), 100);
......
if(WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Debug")
return()
endif()
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
# CMake file for python support # CMake file for python support
# ---------------------------------------------------------------------------- # ----------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment