|
|
|
@ -21,6 +21,7 @@ |
|
|
|
|
# OPENCV_MODULE_${the_module}_IS_PART_OF_WORLD |
|
|
|
|
# OPENCV_MODULE_${the_module}_CUDA_OBJECTS - compiled CUDA objects list |
|
|
|
|
# OPENCV_MODULE_${the_module}_CHILDREN - list of submodules for compound modules (cmake >= 2.8.8) |
|
|
|
|
# OPENCV_MODULE_${the_module}_WRAPPERS - list of wrappers supporting this module |
|
|
|
|
# HAVE_${the_module} - for fast check of module availability |
|
|
|
|
|
|
|
|
|
# To control the setup of the module you could also set: |
|
|
|
@ -60,6 +61,7 @@ foreach(mod ${OPENCV_MODULES_BUILD} ${OPENCV_MODULES_DISABLED_USER} ${OPENCV_MOD |
|
|
|
|
unset(OPENCV_MODULE_${mod}_PRIVATE_REQ_DEPS CACHE) |
|
|
|
|
unset(OPENCV_MODULE_${mod}_PRIVATE_OPT_DEPS CACHE) |
|
|
|
|
unset(OPENCV_MODULE_${mod}_LINK_DEPS CACHE) |
|
|
|
|
unset(OPENCV_MODULE_${mod}_WRAPPERS CACHE) |
|
|
|
|
endforeach() |
|
|
|
|
|
|
|
|
|
# clean modules info which needs to be recalculated |
|
|
|
@ -72,7 +74,7 @@ unset(OPENCV_WORLD_MODULES CACHE) |
|
|
|
|
|
|
|
|
|
# adds dependencies to OpenCV module |
|
|
|
|
# Usage: |
|
|
|
|
# add_dependencies(opencv_<name> [REQUIRED] [<list of dependencies>] [OPTIONAL <list of modules>]) |
|
|
|
|
# add_dependencies(opencv_<name> [REQUIRED] [<list of dependencies>] [OPTIONAL <list of modules>] [WRAP <list of wrappers>]) |
|
|
|
|
# Notes: |
|
|
|
|
# * <list of dependencies> - can include full names of modules or full pathes to shared/static libraries or cmake targets |
|
|
|
|
macro(ocv_add_dependencies full_modname) |
|
|
|
@ -87,16 +89,28 @@ macro(ocv_add_dependencies full_modname) |
|
|
|
|
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS) |
|
|
|
|
elseif(d STREQUAL "PRIVATE_OPTIONAL") |
|
|
|
|
set(__depsvar OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS) |
|
|
|
|
elseif(d STREQUAL "WRAP") |
|
|
|
|
set(__depsvar OPENCV_MODULE_${full_modname}_WRAPPERS) |
|
|
|
|
else() |
|
|
|
|
list(APPEND ${__depsvar} "${d}") |
|
|
|
|
endif() |
|
|
|
|
endforeach() |
|
|
|
|
unset(__depsvar) |
|
|
|
|
|
|
|
|
|
# hack for python |
|
|
|
|
set(__python_idx) |
|
|
|
|
list(FIND OPENCV_MODULE_${full_modname}_WRAPPERS "python" __python_idx) |
|
|
|
|
if (NOT __python_idx EQUAL -1) |
|
|
|
|
list(REMOVE_ITEM OPENCV_MODULE_${full_modname}_WRAPPERS "python") |
|
|
|
|
list(APPEND OPENCV_MODULE_${full_modname}_WRAPPERS "python2" "python3") |
|
|
|
|
endif() |
|
|
|
|
unset(__python_idx) |
|
|
|
|
|
|
|
|
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_REQ_DEPS) |
|
|
|
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_OPT_DEPS) |
|
|
|
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_REQ_DEPS) |
|
|
|
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS) |
|
|
|
|
ocv_list_unique(OPENCV_MODULE_${full_modname}_WRAPPERS) |
|
|
|
|
|
|
|
|
|
set(OPENCV_MODULE_${full_modname}_REQ_DEPS ${OPENCV_MODULE_${full_modname}_REQ_DEPS} |
|
|
|
|
CACHE INTERNAL "Required dependencies of ${full_modname} module") |
|
|
|
@ -106,11 +120,13 @@ macro(ocv_add_dependencies full_modname) |
|
|
|
|
CACHE INTERNAL "Required private dependencies of ${full_modname} module") |
|
|
|
|
set(OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS ${OPENCV_MODULE_${full_modname}_PRIVATE_OPT_DEPS} |
|
|
|
|
CACHE INTERNAL "Optional private dependencies of ${full_modname} module") |
|
|
|
|
set(OPENCV_MODULE_${full_modname}_WRAPPERS ${OPENCV_MODULE_${full_modname}_WRAPPERS} |
|
|
|
|
CACHE INTERNAL "List of wrappers supporting module ${full_modname}") |
|
|
|
|
endmacro() |
|
|
|
|
|
|
|
|
|
# declare new OpenCV module in current folder |
|
|
|
|
# Usage: |
|
|
|
|
# ocv_add_module(<name> [INTERNAL|BINDINGS] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>]) |
|
|
|
|
# ocv_add_module(<name> [INTERNAL|BINDINGS] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>] [WRAP <list of wrappers>]) |
|
|
|
|
# Example: |
|
|
|
|
# ocv_add_module(yaom INTERNAL opencv_core opencv_highgui opencv_flann OPTIONAL opencv_cudev) |
|
|
|
|
macro(ocv_add_module _name) |
|
|
|
@ -181,6 +197,11 @@ macro(ocv_add_module _name) |
|
|
|
|
# add submodules if any |
|
|
|
|
set(OPENCV_MODULE_${the_module}_CHILDREN "${OPENCV_MODULE_CHILDREN}" CACHE INTERNAL "List of ${the_module} submodules") |
|
|
|
|
|
|
|
|
|
# add reverse wrapper dependencies |
|
|
|
|
foreach (wrapper ${OPENCV_MODULE_${the_module}_WRAPPERS}) |
|
|
|
|
ocv_add_dependencies(opencv_${wrapper} OPTIONAL ${the_module}) |
|
|
|
|
endforeach() |
|
|
|
|
|
|
|
|
|
# stop processing of current file |
|
|
|
|
return() |
|
|
|
|
else() |
|
|
|
@ -796,7 +817,7 @@ endmacro() |
|
|
|
|
# short command for adding simple OpenCV module |
|
|
|
|
# see ocv_add_module for argument details |
|
|
|
|
# Usage: |
|
|
|
|
# ocv_define_module(module_name [INTERNAL] [EXCLUDE_CUDA] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>]) |
|
|
|
|
# ocv_define_module(module_name [INTERNAL] [EXCLUDE_CUDA] [REQUIRED] [<list of dependencies>] [OPTIONAL <list of optional dependencies>] [WRAP <list of wrappers>]) |
|
|
|
|
macro(ocv_define_module module_name) |
|
|
|
|
ocv_debug_message("ocv_define_module(" ${module_name} ${ARGN} ")") |
|
|
|
|
set(_argn ${ARGN}) |
|
|
|
|