mirror of
https://github.com/opencv/opencv.git
synced 2026-09-19 15:23:23 -05:00
Merge pull request #9893 from mshabunin:add-modules-whitelist
This commit is contained in:
@@ -416,6 +416,41 @@ function(__ocv_resolve_dependencies)
|
|||||||
set(HAVE_${m} ON CACHE INTERNAL "Module ${m} will be built in current configuration")
|
set(HAVE_${m} ON CACHE INTERNAL "Module ${m} will be built in current configuration")
|
||||||
endforeach()
|
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
|
# disable MODULES with unresolved dependencies
|
||||||
set(has_changes ON)
|
set(has_changes ON)
|
||||||
while(has_changes)
|
while(has_changes)
|
||||||
|
|||||||
Reference in New Issue
Block a user