diff --git a/cmake/OpenCVModule.cmake b/cmake/OpenCVModule.cmake index 85beca606..9a330e0de 100644 --- a/cmake/OpenCVModule.cmake +++ b/cmake/OpenCVModule.cmake @@ -26,6 +26,7 @@ # To control the setup of the module you could also set: # the_description - text to be used as current module description +# the_label - label for current module # OPENCV_MODULE_TYPE - STATIC|SHARED - set to force override global settings for current module # OPENCV_MODULE_IS_PART_OF_WORLD - ON|OFF (default ON) - should the module be added to the opencv_world? # BUILD_${the_module}_INIT - ON|OFF (default ON) - initial value for BUILD_${the_module} @@ -191,6 +192,15 @@ macro(ocv_add_module _name) set(OPENCV_MODULE_${the_module}_IS_PART_OF_WORLD OFF CACHE INTERNAL "") endif() + if(NOT DEFINED the_label) + if(OPENCV_PROCESSING_EXTRA_MODULES) + set(the_label "Extra") + else() + set(the_label "Main") + endif() + endif() + set(OPENCV_MODULE_${the_module}_LABEL "${the_label};${the_module}" CACHE INTERNAL "") + if(BUILD_${the_module}) set(OPENCV_MODULES_BUILD ${OPENCV_MODULES_BUILD} "${the_module}" CACHE INTERNAL "List of OpenCV modules included into the build") else() @@ -763,6 +773,10 @@ macro(_ocv_create_module) unset(sub_links) unset(cuda_objs) + set_target_properties(${the_module} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Module") + set_source_files_properties(${OPENCV_MODULE_${the_module}_HEADERS} ${OPENCV_MODULE_${the_module}_SOURCES} ${${the_module}_pch} + PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Module") + ocv_target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK}) ocv_target_link_libraries(${the_module} LINK_INTERFACE_LIBRARIES ${OPENCV_MODULE_${the_module}_DEPS_TO_LINK}) ocv_target_link_libraries(${the_module} ${OPENCV_MODULE_${the_module}_DEPS_EXT} ${OPENCV_LINKER_LIBS} ${IPP_LIBS} ${ARGN}) @@ -970,6 +984,10 @@ function(ocv_add_perf_tests) ocv_target_link_libraries(${the_target} ${perf_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS}) add_dependencies(opencv_perf_tests ${the_target}) + set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};PerfTest") + set_source_files_properties(${OPENCV_PERF_${the_module}_SOURCES} ${${the_target}_pch} + PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};PerfTest") + # Additional target properties set_target_properties(${the_target} PROPERTIES DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" @@ -1036,6 +1054,10 @@ function(ocv_add_accuracy_tests) ocv_target_link_libraries(${the_target} ${test_deps} ${OPENCV_MODULE_${the_module}_DEPS} ${OPENCV_LINKER_LIBS}) add_dependencies(opencv_tests ${the_target}) + set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};AccuracyTest") + set_source_files_properties(${OPENCV_TEST_${the_module}_SOURCES} ${${the_target}_pch} + PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};AccuracyTest") + # Additional target properties set_target_properties(${the_target} PROPERTIES DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}" @@ -1093,6 +1115,10 @@ function(ocv_add_samples) ocv_target_link_libraries(${the_target} ${samples_deps}) set_target_properties(${the_target} PROPERTIES PROJECT_LABEL "(sample) ${name}") + set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Sample") + set_source_files_properties("${source}" + PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};Sample") + if(ENABLE_SOLUTION_FOLDERS) set_target_properties(${the_target} PROPERTIES OUTPUT_NAME "${module_id}-example-${name}" diff --git a/modules/cudev/test/CMakeLists.txt b/modules/cudev/test/CMakeLists.txt index b3474168e..e4c753ee7 100644 --- a/modules/cudev/test/CMakeLists.txt +++ b/modules/cudev/test/CMakeLists.txt @@ -32,6 +32,10 @@ if(OCV_DEPENDENCIES_FOUND) ocv_target_link_libraries(${the_target} ${test_deps} ${OPENCV_LINKER_LIBS} ${CUDA_LIBRARIES}) add_dependencies(opencv_tests ${the_target}) + set_target_properties(${the_target} PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL}") + set_source_files_properties(${OPENCV_TEST_${the_module}_SOURCES} ${${the_target}_pch} + PROPERTIES LABELS "${OPENCV_MODULE_${the_module}_LABEL};AccuracyTest") + # Additional target properties set_target_properties(${the_target} PROPERTIES DEBUG_POSTFIX "${OPENCV_DEBUG_POSTFIX}"