# add interface header files
include_directories(include)
+# nnc executable
+add_executable(nnc ${DRIVER_SOURCES} ${OPTIONS_SRC})
+target_link_libraries(nnc PRIVATE nnc_support nnc_pass)
+
+# install nnc
+install(TARGETS nnc DESTINATION ${NNC_INSTALL_PATH}/bin)
+# TODO when we upgrade our cmake to version 3.8 we'll need to use BUILD_RPATH
+# variable instead of CMAKE_BUILD_WITH_INSTALL_RPATH here
+set_target_properties(nnc PROPERTIES INSTALL_RPATH "${NNC_INSTALL_LIB_PATH}")
+set_target_properties(nnc PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
+set_target_properties(nnc PROPERTIES CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+
set(NNC_ROOT_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR})
#
# set RPATH to core part of nnc
set_target_properties(${LIB} PROPERTIES INSTALL_RPATH ${NNC_INSTALL_LIB_PATH})
endfunction()
+
+function(add_nnc_library)
+ add_library(${ARGV})
+
+ get_target_property(LIBS nnc LINK_LIBRARIES)
+ list(APPEND LIBS ${ARGV0})
+ set_target_properties(nnc PROPERTIES LINK_LIBRARIES "${LIBS}")
+endfunction()
#
# end functions
#
set(NNC_CORE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/core)
set(NNC_SUPPORT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/support)
-# nnc executable
-add_executable(nnc ${DRIVER_SOURCES} ${OPTIONS_SRC})
-target_link_libraries(nnc PRIVATE nnc_support nnc_pass)
-target_link_libraries(nnc PRIVATE caffe_importer tflite_import soft_backend_cpp soft_backend_c nnc_interpreter)
-
# configure file that contains extern definitions
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/Definitions.h.in
${CMAKE_CURRENT_BINARY_DIR}/include/Definitions.h)
add_subdirectory(unittests)
add_subdirectory(tests)
-# install nnc
-install(TARGETS nnc DESTINATION ${NNC_INSTALL_PATH}/bin)
-# TODO when we upgrade our cmake to version 2.12 this is needed to use BUILD_RPATH variable NOCOMMIT
-set_target_properties(nnc PROPERTIES INSTALL_RPATH "${NNC_INSTALL_LIB_PATH}")
-set_target_properties(nnc PROPERTIES INSTALL_RPATH_USE_LINK_PATH TRUE)
-set_target_properties(nnc PROPERTIES CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
-
file(GLOB caffe_importer_sources *.cpp)
file(GLOB caffe_importer_headers *.h)
-add_nncc_library(caffe_importer SHARED ${caffe_importer_sources}
- ${caffe_importer_headers})
+add_nnc_library(caffe_importer SHARED ${caffe_importer_sources}
+ ${caffe_importer_headers})
target_link_libraries(caffe_importer PUBLIC caffeproto)
target_link_libraries(caffe_importer PUBLIC nn_import_common)
file(GLOB tflite_importer_headers *.h)
set(tflite_import tflite_import)
-add_library(${tflite_import} SHARED ${tflite_importer_sources} ${tflite_importer_headers})
+add_nnc_library(${tflite_import} SHARED ${tflite_importer_sources} ${tflite_importer_headers})
target_link_libraries(${tflite_import} PUBLIC tflite_schema)
target_link_libraries(${tflite_import} PUBLIC flatbuffers)