Add packaging ml_only flag 40/260140/1
authorKwang Son <k.son@samsung.com>
Mon, 21 Jun 2021 06:11:25 +0000 (15:11 +0900)
committerKwang Son <k.son@samsung.com>
Mon, 21 Jun 2021 06:11:25 +0000 (15:11 +0900)
Change-Id: I64a51a7a3b6fda3b3411e7ddee662b415be7a478
Signed-off-by: Kwang Son <k.son@samsung.com>
CMakeLists.txt
packaging/capi-media-vision.spec

index 5370a23..9421c35 100644 (file)
@@ -2,6 +2,8 @@ set(fw_name "capi-media-vision")
 project(${fw_name})
 cmake_minimum_required(VERSION 2.6)
 
+option(BUILD_ML_ONLY "Build mv_machine_learning only" OFF)
+
 set(MV_COMMON_LIB_NAME "mv_common")
 set(MV_BARCODE_DETECTOR_LIB_NAME "mv_barcode_detector" CACHE STRING
        "Name of the library will be built for barcode detecting module (without extension).")
@@ -20,19 +22,31 @@ include(FindPkgConfig)
 include(GNUInstallDirs)
 
 add_subdirectory(mv_common)
+add_subdirectory(mv_machine_learning)
+if(NOT BUILD_ML_ONLY)
 add_subdirectory(mv_barcode)
 add_subdirectory(mv_image)
 add_subdirectory(mv_face)
 add_subdirectory(mv_surveillance)
-add_subdirectory(mv_machine_learning)
 add_subdirectory(test)
+endif()
 
+if(BUILD_ML_ONLY)
+install(
+        DIRECTORY include/ DESTINATION include/media
+        FILES_MATCHING
+        PATTERN "*_private.h" EXCLUDE
+        PATTERN "*_inference*.h"
+        PATTERN "*_common*.h"
+        )
+else()
 install(
         DIRECTORY include/ DESTINATION include/media
         FILES_MATCHING
         PATTERN "*_private.h" EXCLUDE
         PATTERN "*.h"
         )
+endif()
 
 set(PC_NAME ${fw_name})
 set(PC_REQUIRED "${fw_name}-barcode ${fw_name}-face ${fw_name}-image ${fw_name}-surveillance ${fw_name}-inference")
@@ -44,7 +58,10 @@ configure_file(
     ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
     @ONLY
 )
+
+if(NOT BUILD_ML_ONLY) 
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+endif()
 
 set(pc_dependents "capi-media-tool")
 set(PC_NAME ${fw_name}-common)
@@ -60,6 +77,7 @@ install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-common.pc DESTINATION ${LIB
 # now all sub package dependent common
 set(PC_REQUIRED ${fw_name}-common)
 
+if(NOT BUILD_ML_ONLY)
 set(PC_NAME ${fw_name}-barcode)
 set(PC_LDFLAGS "-l${MV_BARCODE_DETECTOR_LIB_NAME} -l${MV_BARCODE_GENERATOR_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
@@ -95,6 +113,7 @@ configure_file(
     @ONLY
 )
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-surveillance.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+endif()
 
 set(PC_NAME ${fw_name}-inference)
 set(PC_LDFLAGS "-l${MV_INFERENCE_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
index 17b6db5..c180dfa 100644 (file)
@@ -1,6 +1,6 @@
 Name:        capi-media-vision
 Summary:     Media Vision library for Tizen Native API
-Version:     0.8.1
+Version:     0.8.2
 Release:     0
 Group:       Multimedia/Framework
 License:     Apache-2.0 and BSD-3-Clause
@@ -11,13 +11,16 @@ BuildRequires: pkgconfig(libtbm)
 BuildRequires: pkgconfig(dlog)
 BuildRequires: pkgconfig(capi-system-info)
 BuildRequires: pkgconfig(opencv)
-BuildRequires: pkgconfig(zbar)
+BuildRequires: pkgconfig(json-glib-1.0)
+BuildRequires: dlogutil
 BuildRequires: pkgconfig(glib-2.0)
+BuildRequires: pkgconfig(iniparser)
+BuildRequires: pkgconfig(inference-engine-interface-common)
+%if !0%{?ml_only:1}
+BuildRequires: pkgconfig(zbar)
 # Change to the pkgconfig(zint) after zint package refactor
 BuildRequires: zint
 BuildRequires: zint-devel
-BuildRequires: pkgconfig(json-glib-1.0)
-BuildRequires: dlogutil
 BuildRequires: pkgconfig(libavcodec)
 BuildRequires: pkgconfig(libavformat)
 BuildRequires: pkgconfig(libswscale)
@@ -26,19 +29,22 @@ BuildRequires: pkgconfig(gstreamer-1.0)
 BuildRequires: pkgconfig(gstreamer-base-1.0)
 BuildRequires: pkgconfig(gstreamer-app-1.0)
 BuildRequires: pkgconfig(libtzplatform-config)
-BuildRequires: pkgconfig(iniparser)
 BuildRequires: pkgconfig(ncurses)
-BuildRequires: pkgconfig(inference-engine-interface-common)
 BuildRequires: pkgconfig(check)
+%endif
+
+Requires:   %{name}-machine_learning
+%if !0%{?ml_only:1}
 Requires:   %{name}-barcode
 Requires:   %{name}-face
 Requires:   %{name}-image
-Requires:   %{name}-machine_learning
 Requires:   %{name}-surveillance
+%endif
 
 %description
 Media Vision library for Tizen Native API. Includes barcode detecting, barcode generating, face and image modules.
 
+%if !0%{?ml_only:1}
 %package devel
 Summary:    Multimedia Vision Library (DEV)
 Group:      Multimedia/Framework
@@ -51,6 +57,7 @@ Requires:   %{name}-surveillance-devel
 
 %description devel
 Media Vision library for Tizen Native API (DEV). Includes barcode detecting, barcode generating, face and image modules.
+%endif
 
 %if 0%{?gcov:1}
 %package gcov
@@ -76,6 +83,7 @@ Requires:   %{name}-common
 %description common-devel
 Media Vision common library for Tizen Native API (DEV).
 
+%if !0%{?ml_only:1}
 %package barcode
 Summary:    Multimedia Vision Barcode Library
 Group:      Multimedia/Framework
@@ -143,6 +151,7 @@ Requires:   %{name}-common-devel
 
 %description surveillance-devel
 Media Vision Surveillance library for Tizen Native API (DEV).
+%endif
 
 %package machine_learning
 Summary:    Multimedia Vision Machine Learning Library
@@ -161,6 +170,7 @@ Requires:   %{name}-common-devel
 %description machine_learning-devel
 Media Vision Machine Learning library for Tizen Native API (DEV).
 
+%if !0%{?ml_only:1}
 %package testsuite
 Summary:    Multimedia Vision Test Suite
 Group:      Multimedia/Framework
@@ -173,6 +183,7 @@ Requires:   check
 
 %description testsuite
 Media Vision Test Suite.
+%endif
 
 %prep
 %setup -q
@@ -198,6 +209,9 @@ export LDFLAGS+=" -lgcov"
 %endif
 
 %cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+%if 0%{?ml_only:1}
+ -DBUILD_ML_ONLY=ON \
+%endif
 %ifarch %arm aarch64
 -DENABLE_NEON=ON
 %endif
@@ -228,8 +242,10 @@ install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
 %manifest %{name}.manifest
 %license LICENSE.APLv2
 
+%if !0%{?ml_only:1}
 %files devel
 %{_libdir}/pkgconfig/%{name}.pc
+%endif
 
 %files common
 %manifest %{name}.manifest
@@ -241,6 +257,7 @@ install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
 %{_includedir}/media/mv_common.h
 %{_libdir}/pkgconfig/*common.pc
 
+%if !0%{?ml_only:1}
 %files barcode
 %manifest %{name}.manifest
 %license LICENSE.APLv2
@@ -276,6 +293,7 @@ install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
 %files surveillance-devel
 %{_includedir}/media/mv_surveillance*.h
 %{_libdir}/pkgconfig/*surveillance.pc
+%endif
 
 %files machine_learning
 %manifest %{name}.manifest
@@ -286,12 +304,14 @@ install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
 %{_includedir}/media/mv_infer*.h
 %{_libdir}/pkgconfig/*inference.pc
 
+%if !0%{?ml_only:1}
 %files testsuite
 %manifest %{name}.manifest
 %license LICENSE.APLv2
 %{_libdir}/libmv_*helper.so
 %{_libdir}/libmv_testsuite*.so
 %{_bindir}/mv_*
+%endif
 
 %if 0%{?gcov:1}
 %files gcov