mv_machine_learning: add feature enabling option for face recognition 71/278771/3 submit/tizen/20220726.051149
authorInki Dae <inki.dae@samsung.com>
Tue, 26 Jul 2022 04:37:18 +0000 (13:37 +0900)
committerInki Dae <inki.dae@samsung.com>
Tue, 26 Jul 2022 05:03:30 +0000 (14:03 +0900)
[Version] : 0.23.6
[Issue type] cleanup

Added feature enabling option for face recognition framework.
With this patch, VD build error is fixed.

Change-Id: If80d718c3147104d53a712023a7a0c7b9ab3fca6
Signed-off-by: Inki Dae <inki.dae@samsung.com>
CMakeLists.txt
mv_machine_learning/CMakeLists.txt
packaging/capi-media-vision.spec
test/testsuites/machine_learning/CMakeLists.txt

index bbc1735..7134d36 100644 (file)
@@ -131,24 +131,26 @@ configure_file(
 )
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-inference.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 
-set(PC_NAME ${fw_name}-training)
-set(PC_LDFLAGS "-l${MV_TRAINING_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
-configure_file(
-    ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-training.pc
-    @ONLY
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-training.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-
-set(PC_NAME ${fw_name}-face-recognition)
-set(PC_LDFLAGS "-l${MV_FACE_RECOG_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
-configure_file(
-    ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-face-recognition.pc
-    @ONLY
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-face-recognition.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/face_recognition/meta/face_recognition.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
+if (${ENABLE_ML_FACE_RECOGNITION})
+    set(PC_NAME ${fw_name}-training)
+    set(PC_LDFLAGS "-l${MV_TRAINING_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
+    configure_file(
+        ${fw_name}.pc.in
+        ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-training.pc
+        @ONLY
+    )
+    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-training.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+
+       set(PC_NAME ${fw_name}-face-recognition)
+    set(PC_LDFLAGS "-l${MV_FACE_RECOG_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
+    configure_file(
+        ${fw_name}.pc.in
+        ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-face-recognition.pc
+        @ONLY
+    )
+    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-face-recognition.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/face_recognition/meta/face_recognition.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
+endif()
 
 set(PC_NAME ${fw_name}-tracker)
 set(PC_LDFLAGS "-l${MV_ROI_TRACKER_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
index 3e99704..a077ce1 100644 (file)
@@ -1,3 +1,7 @@
 add_subdirectory(inference)
-add_subdirectory(training)
-add_subdirectory(face_recognition)
+
+if (${ENABLE_ML_FACE_RECOGNITION})
+    message("Enabled machine learning face recognition feature.")
+    add_subdirectory(training)
+    add_subdirectory(face_recognition)
+endif()
\ No newline at end of file
index 5ac71bd..ce2ac76 100644 (file)
@@ -1,6 +1,6 @@
 Name:        capi-media-vision
 Summary:     Media Vision library for Tizen Native API
-Version:     0.23.5
+Version:     0.23.6
 Release:     0
 Group:       Multimedia/Framework
 License:     Apache-2.0 and BSD-3-Clause
@@ -13,7 +13,6 @@ BuildRequires: pkgconfig(opencv)
 BuildRequires: pkgconfig(json-glib-1.0)
 BuildRequires: pkgconfig(iniparser)
 BuildRequires: pkgconfig(inference-engine-interface-common)
-BuildRequires: pkgconfig(training-engine-interface-common)
 %if !0%{?ml_only:1}
 BuildRequires: pkgconfig(glib-2.0)
 BuildRequires: pkgconfig(zbar)
@@ -35,7 +34,13 @@ BuildRequires: gtest-devel
 # Build options
 # ENABLE_INFERENCE_PROFILER
 # 0 : disable Mediavision inference engine profiler, 1 : enable Mediavision inference engine profiler.
-%define build_options -DENABLE_INFERENCE_PROFILER=0
+%if "%{tizen_profile_name}" == "tv"
+%define enable_ml_face_recognition 0
+%else
+%define enable_ml_face_recognition 1
+BuildRequires: pkgconfig(training-engine-interface-common)
+%endif
+%define build_options -DENABLE_INFERENCE_PROFILER=0 -DENABLE_ML_FACE_RECOGNITION=%{enable_ml_face_recognition}
 
 Requires:   %{name}-machine_learning
 %if !0%{?ml_only:1}
@@ -317,16 +322,20 @@ find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
 %files machine_learning
 %manifest %{name}.manifest
 %license LICENSE.APLv2
-%{_datadir}/%{name}/face_recognition.json
 %{_libdir}/libmv_inference*.so
+%if "%{enable_ml_face_recognition}" == "1"
+%{_datadir}/%{name}/face_recognition.json
 %{_libdir}/libmv_training.so
 %{_libdir}/libmv_face_recognition.so
+%endif
 
 %files machine_learning-devel
 %{_includedir}/media/mv_infer*.h
 %{_libdir}/pkgconfig/*inference.pc
+%if "%{enable_ml_face_recognition}" == "1"
 %{_libdir}/pkgconfig/*training.pc
 %{_libdir}/pkgconfig/*face-recognition.pc
+%endif
 
 %files roi_tracker
 %manifest %{name}.manifest
@@ -345,8 +354,10 @@ find . -name '*.gcno' -exec cp --parents '{}' "$gcno_obj_dir" ';'
 %{_libdir}/libmv_*helper.so
 %{_libdir}/libmv_testsuite*.so
 %{_bindir}/mv_*
-%{_bindir}/test_*
-%{_bindir}/measure_*
+%if "%{enable_ml_face_recognition}" == "1"
+%{_bindir}/test_face_recognition
+%{_bindir}/measure_face_recognition
+%endif
 %endif
 
 %if 0%{?gcov:1}
index de2c654..ebf24f4 100644 (file)
@@ -2,4 +2,8 @@ project(machine_learning)
 cmake_minimum_required(VERSION 2.6...3.13)
 
 add_subdirectory(${PROJECT_SOURCE_DIR}/inference)
-add_subdirectory(${PROJECT_SOURCE_DIR}/face_recognition)
\ No newline at end of file
+
+if (${ENABLE_ML_FACE_RECOGNITION})
+    message("Enabled machine learning face recognition test cases.")
+    add_subdirectory(${PROJECT_SOURCE_DIR}/face_recognition)
+endif()