[Fix] fix bug for install_headers
authorJihoon Lee <jhoon.it.lee@samsung.com>
Fri, 22 Oct 2021 10:10:17 +0000 (19:10 +0900)
committerJijoong Moon <jijoong.moon@samsung.com>
Tue, 26 Oct 2021 00:04:49 +0000 (09:04 +0900)
Fix bug that install_headers install_dir overrides subdir props.
This is undocumented behavior so changed to make it to be deterministic

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
api/capi/meson.build
api/ccapi/meson.build
jni/prepare_ml-api.sh
meson.build
nntrainer/meson.build

index 112891d..60ae08c 100644 (file)
@@ -73,7 +73,6 @@ configure_file(input: 'capi-ml-training.pc.in', output: 'capi-ml-training.pc',
 )
 
 install_headers(capi_headers,
-  subdir: 'nntrainer',
   install_dir: nntrainer_includedir,
 )
 
index f19c8cb..2384514 100644 (file)
@@ -52,6 +52,5 @@ configure_file(input: 'ccapi-ml-training.pc.in', output: 'ccapi-ml-training.pc',
 )
 
 install_headers(ccapi_headers,
-  subdir: 'nntrainer',
   install_dir: nntrainer_includedir,
 )
index 6ba537a..6c7a975 100755 (executable)
@@ -43,8 +43,8 @@ function _extract_ml_api {
 function _cleanup_ml_api {
   echo "[ml_api] cleanup ml_api \n"
   # move include to the target location
-  mv ${FILE_PREFIX}/main/jni/nnstreamer/include .
-  mv ${FILE_PREFIX}/main/jni/nnstreamer/lib .
+  mv -f ${FILE_PREFIX}/main/jni/nnstreamer/include .
+  mv -f ${FILE_PREFIX}/main/jni/nnstreamer/lib .
   # remove all untarred directories/files
   rm -rf ${FILE_PREFIX}
   # cleanup all files other than ml_api and tizen_error
@@ -52,7 +52,7 @@ function _cleanup_ml_api {
   find lib ! \( -name 'libnnstreamer-native.so' -or -name 'libgstreamer_android.so' \) -type f -exec rm -f {} +
 }
 
-[ ! -d "${TARGET}" ] && _download_ml_api && _extract_ml_api \
+[ ! -d "${TARGET}/include" ] && _download_ml_api && _extract_ml_api \
   && _cleanup_ml_api
 
 popd
index 107e072..9854d73 100644 (file)
@@ -71,14 +71,14 @@ nntrainer_prefix = get_option('prefix')
 if get_option('platform') != 'android'
   nntrainer_libdir = nntrainer_prefix / get_option('libdir')
   nntrainer_bindir = nntrainer_prefix / get_option('bindir')
-  nntrainer_includedir = nntrainer_prefix / get_option('includedir')
+  nntrainer_includedir = nntrainer_prefix / get_option('includedir') / 'nntrainer'
   nntrainer_confdir = get_option('sysconfdir')
   application_install_dir = nntrainer_bindir / 'applications'
 else
   nntrainer_prefix = meson.build_root() / 'android_build_result'
   # @todo arch has to be option
   nntrainer_libdir = nntrainer_prefix / 'lib' / 'arm64-v8a'
-  nntrainer_includedir = nntrainer_prefix / 'include'
+  nntrainer_includedir = nntrainer_prefix / 'include' / 'nntrainer'
   nntrainer_bindir = nntrainer_prefix / 'bin'
   nntrainer_confdir = nntrainer_prefix / 'conf'
   application_install_dir = nntrainer_prefix / 'examples'
index 9d9da3b..683f843 100644 (file)
@@ -91,7 +91,6 @@ endif
 
 # Install headers
 install_headers(nntrainer_headers,
-  subdir: 'nntrainer',
   install_dir: nntrainer_includedir,
 )