[nnc] Merge frontend libraires (#2737)
authorРоман Михайлович Русяев/AI Tools Lab /SRR/Staff Engineer/삼성전자 <r.rusyaev@samsung.com>
Fri, 21 Dec 2018 10:53:11 +0000 (13:53 +0300)
committerEfimov Alexander/AI Tools Lab/./Samsung Electronics <a.efimov@samsung.com>
Fri, 21 Dec 2018 10:53:11 +0000 (13:53 +0300)
* add one frontend library as interface
* remove redundant `target_include_directories`

Signed-off-by: Roman Rusyaev <r.rusyaev@samsung.com>
contrib/nnc/passes/caffe2_frontend/CMakeLists.txt
contrib/nnc/passes/caffe_frontend/CMakeLists.txt
contrib/nnc/passes/common_frontend/CMakeLists.txt
contrib/nnc/passes/onnx_frontend/CMakeLists.txt
contrib/nnc/passes/tflite_frontend/CMakeLists.txt
contrib/nnc/utils/tflite_model_generator/CMakeLists.txt

index 82dceb3..161ab4f 100644 (file)
@@ -22,13 +22,11 @@ target_link_libraries(caffe2proto libprotobuf)
 
 file(GLOB caffe2_importer_sources *.cpp)
 
-add_nnc_library(caffe2_importer SHARED ${caffe2_importer_sources}
-                                       ${caffe2_importer_headers})
+add_library(caffe2_importer STATIC ${caffe2_importer_sources}
+                                   ${caffe2_importer_headers})
+set_target_properties(caffe2_importer PROPERTIES POSITION_INDEPENDENT_CODE ON)
 
 target_link_libraries(caffe2_importer PUBLIC caffe2proto)
-target_link_libraries(caffe2_importer PUBLIC nn_import_common)
+target_link_libraries(caffe2_importer PRIVATE nn_import_common)
 target_link_libraries(caffe2_importer PRIVATE nnc_support)
 target_link_libraries(caffe2_importer PRIVATE nnc_core)
-
-# install caffe2 frontend library
-install_nnc_library(caffe2_importer)
index cd40303..ae223bb 100644 (file)
@@ -8,13 +8,11 @@ endif()
 file(GLOB caffe_importer_sources *.cpp)
 file(GLOB caffe_importer_headers *.h)
 
-add_nnc_library(caffe_importer SHARED ${caffe_importer_sources}
-                                      ${caffe_importer_headers})
+add_library(caffe_importer STATIC ${caffe_importer_sources}
+                                  ${caffe_importer_headers})
+set_target_properties(caffe_importer PROPERTIES POSITION_INDEPENDENT_CODE ON)
 
 target_link_libraries(caffe_importer PUBLIC caffeproto)
-target_link_libraries(caffe_importer PUBLIC nn_import_common)
+target_link_libraries(caffe_importer PRIVATE nn_import_common)
 target_link_libraries(caffe_importer PRIVATE nnc_support)
 target_link_libraries(caffe_importer PRIVATE nnc_core)
-
-# install caffe frontend library
-install_nnc_library(caffe_importer)
index d26fde6..46fd692 100644 (file)
@@ -11,19 +11,26 @@ target_link_libraries(nn_import_common PRIVATE nnc_core nnc_support)
 #
 # This library depends on other frontends to provide uniform interface for those who use frontends
 #
-set(IMPORTER_SUPPORT_SOURCES NNImporter.cpp)
-add_nnc_library(nn_importer_support STATIC ${IMPORTER_SUPPORT_SOURCES})
-target_include_directories(nn_importer_support PRIVATE ${NNC_CAFFE_FRONTEND_DIR}
-        ${NNC_CAFFE2_FRONTEND_DIR} ${NNC_TFLITE_FRONTEND_DIR} ${NNC_ONNX_FRONTEND_DIR})
+set(IMPORTER_SOURCES NNImporter.cpp)
+add_nnc_library(nn_importer SHARED ${IMPORTER_SOURCES})
+target_include_directories(nn_importer PRIVATE
+        ${NNC_CAFFE_FRONTEND_DIR}
+        ${NNC_CAFFE2_FRONTEND_DIR}
+        ${NNC_TFLITE_FRONTEND_DIR}
+        ${NNC_ONNX_FRONTEND_DIR})
+
 if (NNC_FRONTEND_CAFFE_ENABLED)
-  target_link_libraries(nn_importer_support caffe_importer)
+  target_link_libraries(nn_importer PRIVATE caffe_importer)
 endif()
 if (NNC_FRONTEND_CAFFE2_ENABLED)
-  target_link_libraries(nn_importer_support caffe2_importer)
+  target_link_libraries(nn_importer PRIVATE caffe2_importer)
 endif()
 if (NNC_FRONTEND_TFLITE_ENABLED)
-  target_link_libraries(nn_importer_support tflite_importer)
+  target_link_libraries(nn_importer PRIVATE tflite_importer)
 endif()
 if (NNC_FRONTEND_ONNX_ENABLED)
-  target_link_libraries(nn_importer_support onnx_importer)
+  target_link_libraries(nn_importer PRIVATE onnx_importer)
 endif()
+
+# install frontend library
+install_nnc_library(nn_importer)
index da2e885..6e623c1 100644 (file)
@@ -15,18 +15,16 @@ if(TARGET onnxproto)
   file(GLOB onnx_importer_headers *.h)
   file(GLOB onnx_importer_sources *.cpp)
 
-  add_nnc_library(onnx_importer SHARED ${onnx_importer_sources}
-                                     ${onnx_importer_headers})
+  add_library(onnx_importer STATIC ${onnx_importer_sources}
+                                   ${onnx_importer_headers})
+  set_target_properties(onnx_importer PROPERTIES POSITION_INDEPENDENT_CODE ON)
 
   target_link_libraries(onnx_importer PUBLIC onnxproto)
-  target_link_libraries(onnx_importer PUBLIC nn_import_common)
+  target_link_libraries(onnx_importer PRIVATE nn_import_common)
   target_link_libraries(onnx_importer PRIVATE nnc_support)
   target_link_libraries(onnx_importer PRIVATE nnc_core)
   add_definitions (-DONNX_NAMESPACE=onnx)
 
   get_target_property(INCLUDE_DIRS onnxproto INCLUDE_DIRECTORIES)
-  include_directories(${INCLUDE_DIRS} ${ONNXSource_DIR})
-
-  # install onnx frontend library
-  install_nnc_library(onnx_importer)
+  target_include_directories(onnx_importer PRIVATE ${INCLUDE_DIRS} ${ONNXSource_DIR})
 endif(TARGET onnxproto)
index 2b6d5af..d55bba6 100644 (file)
@@ -26,13 +26,11 @@ set(tflite_importer_sources tflite_op_creator.cpp
                             tflite_importer.cpp)
 file(GLOB tflite_importer_headers *.h)
 
-add_nnc_library(tflite_importer SHARED ${tflite_importer_sources} ${tflite_importer_headers})
+add_library(tflite_importer STATIC ${tflite_importer_sources} ${tflite_importer_headers})
+set_target_properties(tflite_importer PROPERTIES POSITION_INDEPENDENT_CODE ON)
 
 target_link_libraries(tflite_importer PUBLIC tflite_schema)
 target_link_libraries(tflite_importer PUBLIC flatbuffers)
-target_link_libraries(tflite_importer PUBLIC nn_import_common)
-target_link_libraries(tflite_importer PUBLIC nnc_support)
-target_link_libraries(tflite_importer PUBLIC nnc_core)
-
-# install tflite frontend library
-install_nnc_library(tflite_importer)
+target_link_libraries(tflite_importer PRIVATE nn_import_common)
+target_link_libraries(tflite_importer PRIVATE nnc_support)
+target_link_libraries(tflite_importer PRIVATE nnc_core)
index 0b50953..934f9fb 100644 (file)
@@ -23,5 +23,4 @@ target_link_libraries(tflite_model_generator PRIVATE flatbuffers)
 target_link_libraries(tflite_model_generator PRIVATE tflite_schema)
 target_link_libraries(tflite_model_generator PRIVATE ${HDF5_CXX_LIBRARIES})
 
-target_include_directories(tflite_model_generator PRIVATE ${FB_GEN_INCLUDE_DIRS})
 target_include_directories(tflite_model_generator PRIVATE ${HDF5_INCLUDE_DIRS})