message: cmake: clean unreferenced functions from OpenCV modules too
diff: @@ -179,12 +179,24 @@ if(CV_GCC OR CV_CLANG)
  string(REPLACE "-ffunction-sections" "" ${flags} "${${flags}}")
  string(REPLACE "-fdata-sections" "" ${flags} "${${flags}}")
  endforeach()
  - elseif(NOT ((IOS OR ANDROID) AND NOT BUILD_SHARED_LIBS) AND NOT MSVC)
  + else()
  + if(MSVC)
  + # TODO: Clang/C2 is not supported
  + elseif(((IOS OR ANDROID) AND NOT BUILD_SHARED_LIBS) AND NOT OPENCV_FORCE_FUNCTIONS_SECTIONS)
  + # don't create separate sections for functions/data, reduce package size
  + else()
  # Remove unreferenced functions: function level linking
  add_extra_compiler_option(-ffunction-sections)
  add_extra_compiler_option(-fdata-sections)
  - if(NOT APPLE AND NOT OPENCV_SKIP_GC_SECTIONS)
  + if(NOT OPENCV_SKIP_GC_SECTIONS)
  + if(APPLE)
  + set(OPENCV_EXTRA_EXE_LINKER_FLAGS "${OPENCV_EXTRA_EXE_LINKER_FLAGS} -Wl,-dead_strip")
  + set(OPENCV_EXTRA_SHARED_LINKER_FLAGS "${OPENCV_EXTRA_SHARED_LINKER_FLAGS} -Wl,-dead_strip")
  + else()
  set(OPENCV_EXTRA_EXE_LINKER_FLAGS "${OPENCV_EXTRA_EXE_LINKER_FLAGS} -Wl,--gc-sections")
  + set(OPENCV_EXTRA_SHARED_LINKER_FLAGS "${OPENCV_EXTRA_SHARED_LINKER_FLAGS} -Wl,--gc-sections")
  + endif()
  + endif()
  endif()
  endif()
  