Browse Source

!598 0706 黄传蓝

Merge pull request !598 from wangyunxiang/ge_dev
pull/601/head
wangyunxiang i-robot 2 years ago
parent
commit
a72104d19e
4 changed files with 108 additions and 79 deletions
  1. +55
    -14
      CMakeLists.txt
  2. +18
    -22
      parser/CMakeLists.txt
  3. +17
    -21
      parser/common/CMakeLists.txt
  4. +18
    -22
      parser/onnx/CMakeLists.txt

+ 55
- 14
CMakeLists.txt View File

@@ -1,6 +1,13 @@
cmake_minimum_required(VERSION 3.14) cmake_minimum_required(VERSION 3.14)
project (Parser[CXX]) project (Parser[CXX])


set(INSTALL_BASE_DIR "")
set(INSTALL_LIBRARY_DIR lib)
set(INSTALL_RUNTIME_DIR bin)
set(INSTALL_INCLUDE_DIR include)
set(INSTALL_CONFIG_DIR cmake)
include(CMakePackageConfigHelpers)

set(PARSER_DIR ${CMAKE_CURRENT_LIST_DIR}) set(PARSER_DIR ${CMAKE_CURRENT_LIST_DIR})


if (DEFINED ENV{D_PKG_SERVER}) if (DEFINED ENV{D_PKG_SERVER})
@@ -85,6 +92,17 @@ set(PARSER_PROTO_LIST


protobuf_generate(parser_protos PARSER_PROTO_SRCS PARSER_PROTO_HDRS ${PARSER_PROTO_LIST} TARGET) protobuf_generate(parser_protos PARSER_PROTO_SRCS PARSER_PROTO_HDRS ${PARSER_PROTO_LIST} TARGET)


add_library(parser_headers INTERFACE)
target_include_directories(parser_headers INTERFACE
$<BUILD_INTERFACE:${PARSER_DIR}/inc>
$<BUILD_INTERFACE:${PARSER_DIR}/inc/external>
$<BUILD_INTERFACE:${PARSER_DIR}/inc/external/parser>
$<INSTALL_INTERFACE:include>
$<INSTALL_INTERFACE:include/parser>
$<INSTALL_INTERFACE:include/parser/external>
$<INSTALL_INTERFACE:include/parser/external/parser>
)

set(PARSER_GRAPH_LIBRARY_PROTO_SRC set(PARSER_GRAPH_LIBRARY_PROTO_SRC
"${CMAKE_BINARY_DIR}/proto/parser_protos/proto/tensorflow/graph_library.pb.cc" "${CMAKE_BINARY_DIR}/proto/parser_protos/proto/tensorflow/graph_library.pb.cc"
) )
@@ -211,23 +229,46 @@ target_link_options(_caffe_parser PRIVATE
-Wl,-Bsymbolic -Wl,-Bsymbolic
) )


target_link_libraries(_caffe_parser PRIVATE
$<BUILD_INTERFACE:intf_pub>
-Wl,--no-as-needed
ascend_protobuf
-Wl,--as-needed
)

############ install ############
set(INSTALL_BASE_DIR "")
set(INSTALL_LIBRARY_DIR lib)

install(TARGETS _caffe_parser OPTIONAL
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
target_link_libraries(_caffe_parser
PRIVATE
intf_pub
-Wl,--no-as-needed
ascend_protobuf
-Wl,--as-needed
PUBLIC
parser_headers
) )



add_subdirectory(parser) add_subdirectory(parser)
add_subdirectory(parser/common) add_subdirectory(parser/common)
add_subdirectory(parser/func_to_graph) add_subdirectory(parser/func_to_graph)
add_subdirectory(parser/onnx) add_subdirectory(parser/onnx)

install(TARGETS _caffe_parser parser_common fmk_onnx_parser fmk_parser parser_headers
EXPORT parser-targets
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR} OPTIONAL COMPONENT opensdk
ARCHIVE DESTINATION ${INSTALL_LIBRARY_DIR} OPTIONAL COMPONENT opensdk
RUNTIME DESTINATION ${INSTALL_RUNTIME_DIR} OPTIONAL COMPONENT opensdk
)
install(FILES ${PARSER_DIR}/inc/external/parser/onnx_parser.h
${PARSER_DIR}/inc/external/parser/caffe_parser.h
${PARSER_DIR}/inc/external/parser/tensorflow_parser.h
DESTINATION ${INSTALL_INCLUDE_DIR}/parser/external/parser COMPONENT opensdk EXCLUDE_FROM_ALL
)

if (PACKAGE STREQUAL "opensdk")
install(EXPORT parser-targets DESTINATION ${INSTALL_CONFIG_DIR}
FILE parser-targets.cmake COMPONENT opensdk EXCLUDE_FROM_ALL
)
set(PKG_NAME parser)
configure_package_config_file(${TOP_DIR}/cmake/config/pkg_config_template.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/parser-config.cmake
INSTALL_DESTINATION ${INSTALL_CONFIG_DIR}
PATH_VARS INSTALL_BASE_DIR INSTALL_INCLUDE_DIR INSTALL_LIBRARY_DIR INSTALL_RUNTIME_DIR INSTALL_CONFIG_DIR
INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX}
)
unset(PKG_NAME)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/parser-config.cmake
DESTINATION ${INSTALL_CONFIG_DIR} COMPONENT opensdk EXCLUDE_FROM_ALL
)
endif()

+ 18
- 22
parser/CMakeLists.txt View File

@@ -96,21 +96,24 @@ target_link_options(fmk_parser PRIVATE
) )


target_link_libraries(fmk_parser target_link_libraries(fmk_parser
$<BUILD_INTERFACE:intf_pub>
static_mmpa
-Wl,--no-as-needed
ascend_protobuf
error_manager
parser_common
graph
register
_caffe_parser
c_sec
slog
-Wl,--as-needed
json
-lrt
-ldl
PRIVATE
intf_pub
static_mmpa
-Wl,--no-as-needed
ascend_protobuf
error_manager
parser_common
graph
register
_caffe_parser
c_sec
slog
-Wl,--as-needed
json
-lrt
-ldl
PUBLIC
parser_headers
) )


################################################################## ##################################################################
@@ -181,13 +184,6 @@ set_target_properties(fmk_parser_stub PROPERTIES
) )


############ install ############ ############ install ############
set(INSTALL_BASE_DIR "")
set(INSTALL_LIBRARY_DIR lib)

install(TARGETS fmk_parser OPTIONAL
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
)

install(TARGETS fmk_parser_stub OPTIONAL install(TARGETS fmk_parser_stub OPTIONAL
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}/stub LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}/stub
) )

+ 17
- 21
parser/common/CMakeLists.txt View File

@@ -85,26 +85,22 @@ target_link_options(parser_common PRIVATE
-Wl,-Bsymbolic -Wl,-Bsymbolic
) )


target_link_libraries(parser_common PRIVATE
$<BUILD_INTERFACE:intf_pub>
static_mmpa
-Wl,--no-as-needed
graph
ascend_protobuf
register
c_sec
slog
error_manager
-Wl,--as-needed
json
-lrt
-ldl
target_link_libraries(parser_common
PRIVATE
intf_pub
static_mmpa
-Wl,--no-as-needed
graph
ascend_protobuf
register
c_sec
slog
error_manager
-Wl,--as-needed
json
-lrt
-ldl
PUBLIC
parser_headers
) )


############ install ############
set(INSTALL_BASE_DIR "")
set(INSTALL_LIBRARY_DIR lib)

install(TARGETS parser_common OPTIONAL
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
)

+ 18
- 22
parser/onnx/CMakeLists.txt View File

@@ -70,21 +70,24 @@ target_link_options(fmk_onnx_parser PRIVATE
-Wl,-Bsymbolic -Wl,-Bsymbolic
) )


target_link_libraries(fmk_onnx_parser PRIVATE
$<BUILD_INTERFACE:intf_pub>
static_mmpa
-Wl,--no-as-needed
ascend_protobuf
register
c_sec
parser_common
graph
slog
-Wl,--as-needed
json
-lrt
-ldl
error_manager
target_link_libraries(fmk_onnx_parser
PRIVATE
intf_pub
static_mmpa
-Wl,--no-as-needed
ascend_protobuf
register
c_sec
parser_common
graph
slog
-Wl,--as-needed
json
-lrt
-ldl
error_manager
PUBLIC
parser_headers
) )


################################################################## ##################################################################
@@ -140,13 +143,6 @@ set_target_properties(fmk_onnx_parser_stub PROPERTIES
) )


############ install ############ ############ install ############
set(INSTALL_BASE_DIR "")
set(INSTALL_LIBRARY_DIR lib)

install(TARGETS fmk_onnx_parser OPTIONAL
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}
)

install(TARGETS fmk_onnx_parser_stub OPTIONAL install(TARGETS fmk_onnx_parser_stub OPTIONAL
LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}/stub LIBRARY DESTINATION ${INSTALL_LIBRARY_DIR}/stub
) )

Loading…
Cancel
Save