Skip to content
Permalink
Browse files

Added BUILD_LIST feature

  • Loading branch information...
mshabunin committed Oct 19, 2017
1 parent a6c02af commit 5b17410f7cd89d3f6b9a7def79e8ad1a670daf21
Showing with 35 additions and 0 deletions.
  1. +35 −0 cmake/OpenCVModule.cmake
@@ -421,6 +421,41 @@ function(__ocv_resolve_dependencies)
set(HAVE_${m} ON CACHE INTERNAL "Module ${m} will be built in current configuration")
endforeach()

# Whitelist feature
if(BUILD_LIST)
# Prepare the list
string(REGEX REPLACE "[ ,:]+" ";" whitelist "${BUILD_LIST}" )
if(BUILD_opencv_world)
list(APPEND whitelist world)
endif()
ocv_list_add_prefix(whitelist "opencv_")
ocv_list_sort(whitelist)
ocv_list_unique(whitelist)
message(STATUS "Using whitelist: ${whitelist}")
# Expand the list
foreach(depth RANGE 10)
set(new_whitelist ${whitelist})
foreach(m ${whitelist})
list(APPEND new_whitelist ${OPENCV_MODULE_${m}_REQ_DEPS})
list(APPEND new_whitelist ${OPENCV_MODULE_${m}_PRIVATE_REQ_DEPS})
endforeach()
ocv_list_sort(new_whitelist)
ocv_list_unique(new_whitelist)
if("${whitelist}" STREQUAL "${new_whitelist}")
break()
endif()
set(whitelist "${new_whitelist}")
endforeach()
# Disable modules not in whitelist
foreach(m ${OPENCV_MODULES_BUILD})
list(FIND whitelist ${m} idx)
if(idx EQUAL -1)
message(STATUS "Module ${m} disabled by whitelist")
__ocv_module_turn_off(${m})
endif()
endforeach()
endif()

# disable MODULES with unresolved dependencies
set(has_changes ON)
while(has_changes)

0 comments on commit 5b17410

Please sign in to comment.
You can’t perform that action at this time.