Separate build and source directories
authorsangho park <sangho.g.park@samsung.com>
Mon, 10 Jul 2023 05:35:31 +0000 (14:35 +0900)
committerKwanghoon Son <k.son@samsung.com>
Wed, 12 Jul 2023 09:45:35 +0000 (18:45 +0900)
[Issue type] : code cleanup

Source and build artifacts in separate directories for source control

Change-Id: Ie1f4b2ee126e33cefbdde720ec96a394ad5c3a0d
Signed-off-by: sangho park <sangho.g.park@samsung.com>
.gitignore
CMakeLists.txt
packaging/capi-media-vision.spec

index 61b1c24770dd009892b2d86bb572a7744e827ab0..d98ec66bced0bf70198cc6b78c6501a06e355d04 100644 (file)
@@ -1,4 +1,5 @@
 .vscode/
+build/
 gbsbuild
 *.pyc
-*.db
\ No newline at end of file
+*.db
index a808f4894a90ac72b095447b88f725a54ba6e40d..8f3e5a56875b875e8df89522f8bd7be076b50591 100644 (file)
@@ -68,10 +68,10 @@ set(PC_REQUIRED ${pc_dependents})
 set(PC_LDFLAGS "-l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-common.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-common.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-common.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-common.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
 # now all sub package dependent common
@@ -82,10 +82,10 @@ 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(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-barcode.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-barcode.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-barcode.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-barcode.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -93,10 +93,10 @@ set(PC_NAME ${fw_name}-face)
 set(PC_LDFLAGS "-l${MV_FACE_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-face.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-face.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-face.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-face.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -104,10 +104,10 @@ set(PC_NAME ${fw_name}-image)
 set(PC_LDFLAGS "-l${MV_IMAGE_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-image.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-image.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-image.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-image.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -115,10 +115,10 @@ set(PC_NAME ${fw_name}-surveillance)
 set(PC_LDFLAGS "-l${MV_SURVEILLANCE_LIB_NAME} -l${MV_FACE_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-surveillance.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-surveillance.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-surveillance.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-surveillance.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -126,10 +126,10 @@ set(PC_NAME ${fw_name}-3d)
 set(PC_LDFLAGS "-l${MV_3D_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-3d.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-3d.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-3d.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-3d.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 endif()
@@ -138,10 +138,10 @@ set(PC_NAME ${fw_name}-inference)
 set(PC_LDFLAGS "-l${MV_INFERENCE_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-inference.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-inference.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-inference.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-inference.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -149,10 +149,10 @@ set(PC_NAME ${fw_name}-tracker)
 set(PC_LDFLAGS "-l${MV_ROI_TRACKER_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-tracker.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-tracker.pc
     @ONLY
 )
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-tracker.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-tracker.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 list(APPEND TOTAL_REQUIRED ${PC_NAME})
 list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -161,10 +161,10 @@ if (${ENABLE_ML_FACE_RECOGNITION})
     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
+        ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-training.pc
         @ONLY
     )
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-training.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-training.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
        list(APPEND TOTAL_REQUIRED ${PC_NAME})
        list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
 
@@ -172,10 +172,10 @@ if (${ENABLE_ML_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
+        ${CMAKE_CURRENT_BINARY_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_BINARY_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})
        list(APPEND TOTAL_REQUIRED ${PC_NAME})
        list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
@@ -186,10 +186,10 @@ if (${ENABLE_ML_IMAGE_CLASSIFICATION})
     set(PC_LDFLAGS "-l${MV_IMAGE_CLASSIFICATION_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
     configure_file(
            ${fw_name}.pc.in
-           ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-image-classification.pc
+           ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-image-classification.pc
            @ONLY
     )
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-image-classification.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-image-classification.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/image_classification/meta/image_classification.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
        list(APPEND TOTAL_REQUIRED ${PC_NAME})
        list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
@@ -200,10 +200,10 @@ if (${ENABLE_ML_OBJECT_DETECTION})
     set(PC_LDFLAGS "-l${MV_OBJECT_DETECTION_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
     configure_file(
            ${fw_name}.pc.in
-           ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-object-detection.pc
+           ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-object-detection.pc
            @ONLY
     )
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-object-detection.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-object-detection.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/object_detection/meta/object_detection.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/object_detection/meta/face_detection.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
        list(APPEND TOTAL_REQUIRED ${PC_NAME})
@@ -215,10 +215,10 @@ if (${ENABLE_ML_OBJECT_DETECTION_3D})
     set(PC_LDFLAGS "-l${MV_OBJECT_DETECTION_3D_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
     configure_file(
            ${fw_name}.pc.in
-           ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-object-detection-3d.pc
+           ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-object-detection-3d.pc
            @ONLY
     )
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-object-detection-3d.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-object-detection-3d.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/object_detection_3d/meta/object_detection_3d.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
        list(APPEND TOTAL_REQUIRED ${PC_NAME})
        list(APPEND TOTAL_LDFLAGS ${PC_LDFLAGS})
@@ -229,10 +229,10 @@ if (${ENABLE_ML_LANDMARK_DETECTION})
     set(PC_LDFLAGS "-l${MV_LANDMARK_DETECTION_LIB_NAME} -l${MV_COMMON_LIB_NAME}")
     configure_file(
            ${fw_name}.pc.in
-           ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-landmark-detection.pc
+           ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-landmark-detection.pc
            @ONLY
     )
-    install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}-landmark-detection.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}-landmark-detection.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/landmark_detection/meta/facial_landmark.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
     install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/mv_machine_learning/landmark_detection/meta/pose_landmark.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
        list(APPEND TOTAL_REQUIRED ${PC_NAME})
@@ -254,12 +254,12 @@ set(PC_REQUIRED "${TOTAL_REQUIRED}")
 set(PC_LDFLAGS "${TOTAL_LDFLAGS}")
 configure_file(
     ${fw_name}.pc.in
-    ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc
+    ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}.pc
     @ONLY
 )
 
 if(NOT BUILD_ML_ONLY)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${fw_name}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${fw_name}.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
 endif()
 
 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/media-vision-config.json DESTINATION ${CMAKE_INSTALL_DATADIR}/${fw_name})
index f942f6e37138146e7126fc97e94af19db4e28f8c..142f75b7e7d81054a386c4c8afed14d8bb337f5c 100644 (file)
@@ -283,7 +283,9 @@ export FFLAGS+=" -fprofile-arcs -ftest-coverage"
 export LDFLAGS+=" -lgcov"
 %endif
 
-%cmake . -DCMAKE_BUILD_TYPE=RelWithDebInfo %{build_options} %{task_group_options} \
+mkdir -p build
+cd build
+%cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo %{build_options} %{task_group_options} \
  -DTEST_RES_PATH="%{TZ_SYS_HOME}/%{TZ_SYS_DEFAULT_USER}/media/Others/mv_test" \
 %if 0%{?ml_only:1}
  -DBUILD_ML_ONLY=ON \
@@ -302,6 +304,7 @@ make %{?jobs:-j%jobs}
 mkdir -p %{buildroot}%{_bindir}/tizen-unittests/%{name}
 install -m 0755 script/run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests/%{name}
 
+cd build
 %make_install
 
 %if 0%{?gcov:1}