cmake world: allow to build python bindings

pull/8044/head
Alexander Alekhin 8 years ago
parent 36b34465a4
commit a5d16f09e6
  1. 7
      cmake/OpenCVModule.cmake
  2. 26
      modules/python/CMakeLists.txt

@ -233,7 +233,7 @@ macro(ocv_add_module _name)
endmacro()
# excludes module from current configuration
macro(ocv_module_disable module)
macro(ocv_module_disable_ module)
set(__modname ${module})
if(NOT __modname MATCHES "^opencv_")
set(__modname opencv_${module})
@ -246,9 +246,12 @@ macro(ocv_module_disable module)
# touch variable controlling build of the module to suppress "unused variable" CMake warning
endif()
unset(__modname)
return() # leave the current folder
endmacro()
macro(ocv_module_disable module)
ocv_module_disable_(${module})
return() # leave the current folder
endmacro()
# collect modules from specified directories
# NB: must be called only once!

@ -2,16 +2,26 @@
# CMake file for python support
# ----------------------------------------------------------------------------
if((WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Debug")
OR BUILD_opencv_world
)
ocv_module_disable(python2)
ocv_module_disable(python3)
if(ANDROID OR APPLE_FRAMEWORK OR WINRT)
set(__disable_python2 ON)
set(__disable_python3 ON)
elseif(BUILD_opencv_world OR (WIN32 AND CMAKE_BUILD_TYPE STREQUAL "Debug"))
if(NOT DEFINED BUILD_opencv_python2)
set(__disable_python2 ON)
endif()
if(NOT DEFINED BUILD_opencv_python3)
set(__disable_python3 ON)
endif()
endif()
if(ANDROID OR APPLE_FRAMEWORK OR WINRT)
ocv_module_disable(python2)
ocv_module_disable(python3)
if(__disable_python2)
ocv_module_disable_(python2)
endif()
if(__disable_python3)
ocv_module_disable_(python3)
endif()
if(__disable_python2 AND __disable_python3)
return()
endif()
add_subdirectory(python2)

Loading…
Cancel
Save