You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

securec.cmake 2.2 kB

4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. if (HAVE_C_SEC)
  2. return()
  3. endif()
  4. include(ExternalProject)
  5. if ((${CMAKE_INSTALL_PREFIX} STREQUAL /usr/local) OR
  6. (${CMAKE_INSTALL_PREFIX} STREQUAL "C:/Program Files (x86)/ascend"))
  7. set(CMAKE_INSTALL_PREFIX ${PARSER_DIR}/output CACHE STRING "path for install()" FORCE)
  8. message(STATUS "No install prefix selected, default to ${CMAKE_INSTALL_PREFIX}.")
  9. endif()
  10. ExternalProject_Add(c_sec_build
  11. #URL http://tfk.inhuawei.com/api/containers/container1/download/protobuf-3.8.0.tar.gz
  12. #URL /home/txd/workspace/linux_cmake/pkg/protobuf-3.8.0.tar.gz
  13. SOURCE_DIR ${PARSER_DIR}/../libc_sec
  14. CONFIGURE_COMMAND ${CMAKE_COMMAND}
  15. -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
  16. -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
  17. -DCMAKE_LINKER=${CMAKE_LINKER}
  18. -DCMAKE_AR=${CMAKE_AR}
  19. -DCMAKE_RANLIB=${CMAKE_RANLIB}
  20. -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}/c_sec <SOURCE_DIR>
  21. BUILD_COMMAND $(MAKE)
  22. INSTALL_COMMAND $(MAKE) install
  23. EXCLUDE_FROM_ALL TRUE
  24. )
  25. set(C_SEC_PKG_DIR ${CMAKE_INSTALL_PREFIX}/c_sec)
  26. add_library(c_sec SHARED IMPORTED)
  27. file(MAKE_DIRECTORY ${C_SEC_PKG_DIR}/include)
  28. set_target_properties(c_sec PROPERTIES
  29. IMPORTED_LOCATION ${C_SEC_PKG_DIR}/lib/libc_sec.so
  30. )
  31. target_include_directories(c_sec INTERFACE ${C_SEC_PKG_DIR}/include)
  32. add_dependencies(c_sec c_sec_build)
  33. set(INSTALL_BASE_DIR "")
  34. set(INSTALL_LIBRARY_DIR lib)
  35. install(FILES ${C_SEC_PKG_DIR}/lib/libc_sec.so OPTIONAL
  36. DESTINATION ${INSTALL_LIBRARY_DIR})
  37. add_library(c_sec_static_lib STATIC IMPORTED)
  38. set_target_properties(c_sec_static_lib PROPERTIES
  39. IMPORTED_LOCATION ${C_SEC_PKG_DIR}/lib/libc_sec.a
  40. )
  41. add_library(c_sec_static INTERFACE)
  42. target_include_directories(c_sec_static INTERFACE ${C_SEC_PKG_DIR}/include)
  43. target_link_libraries(c_sec_static INTERFACE c_sec_static_lib)
  44. add_dependencies(c_sec_static c_sec_build)
  45. set(HAVE_C_SEC TRUE CACHE BOOL "c_sec build add")

Ascend CANN Parser(简称parser)配合TF_Adapter、 ATC工具、IR构图等使用,开发者通过以上工具,借助parser能方便地将第三方框架的算法表示转换成Ascend IR,充分利用昇腾AI处理器卓越的运算能力