FindNeuware.cmake 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # ==============================================
  2. # Try to find Cambricon Neuware libraries:
  3. # - cnrt (required)
  4. # - cndrv (required)
  5. # - ion (required on mlu220 edge)
  6. # - cncodec (required)
  7. # - cncodec_v3 (optional)
  8. #
  9. # SET NEUWARE_INCLUDE_DIR with neuware include directory
  10. # SET CNRT_LIBS with cnrt path and cndrv path
  11. # SET CNCODEC_LIBS with cncodec path and ion(if has) path
  12. # SET CNCODECV3_LIBS with cncodec_v3 path
  13. # SET VARIABLE = VARIABLE-NOTFOUND if library not found,
  14. # eg. CNCODECV3_LIBS = CNCODECV3_LIBS-NOTFOUND
  15. # ==============================================
  16. if(NOT DEFINED ENV{NEUWARE_HOME})
  17. set(ENV{NEUWARE_HOME} /usr/local/neuware)
  18. endif()
  19. if((NOT EXISTS $ENV{NEUWARE_HOME}) OR (NOT EXISTS $ENV{NEUWARE_HOME}/include) OR (NOT EXISTS $ENV{NEUWARE_HOME}/lib64))
  20. message(FATAL_ERROR "NEUWARE_HOME: $ENV{NEUWARE_HOME} not exists!")
  21. else()
  22. set(NEUWARE_INCLUDE_DIR $ENV{NEUWARE_HOME}/include)
  23. endif()
  24. # ---[ cnrt
  25. find_library(CNRT_LIB_T
  26. NAMES cnrt
  27. PATHS $ENV{NEUWARE_HOME}/lib64
  28. NO_CMAKE_FIND_ROOT_PATH
  29. NO_CMAKE_PATH
  30. NO_DEFAULT_PATH
  31. NO_CMAKE_SYSTEM_PATH)
  32. find_library(CNDRV_LIB_T
  33. NAMES cndrv
  34. PATHS $ENV{NEUWARE_HOME}/lib64
  35. NO_CMAKE_FIND_ROOT_PATH
  36. NO_CMAKE_PATH
  37. NO_DEFAULT_PATH
  38. NO_CMAKE_SYSTEM_PATH)
  39. if(CNRT_LIB_T AND CNDRV_LIB_T)
  40. set(CNRT_LIBS ${CNRT_LIB_T} ${CNDRV_LIB_T})
  41. else()
  42. message(STATUS "NEUWARE_HOME:$ENV{NEUWARE_HOME}")
  43. message(FATAL_ERROR "cnrt or cndrv not found!")
  44. endif()
  45. # ---[ cncodec
  46. find_library(CNCODEC_LIB_T
  47. NAMES cncodec
  48. PATHS $ENV{NEUWARE_HOME}/lib64
  49. NO_CMAKE_FIND_ROOT_PATH
  50. NO_CMAKE_PATH
  51. NO_DEFAULT_PATH
  52. NO_CMAKE_SYSTEM_PATH)
  53. find_library(ION_LIB_T
  54. NAMES ion
  55. PATHS $ENV{NEUWARE_HOME}/lib64
  56. NO_CMAKE_FIND_ROOT_PATH
  57. NO_CMAKE_PATH
  58. NO_DEFAULT_PATH
  59. NO_CMAKE_SYSTEM_PATH)
  60. if(CNCODEC_LIB_T)
  61. set(CNCODEC_LIBS ${CNCODEC_LIB_T})
  62. else()
  63. message(FATAL_ERROR "cncodec not found!")
  64. endif()
  65. # ---[ ion
  66. find_library(ION_LIB_T
  67. NAMES ion
  68. PATHS $ENV{NEUWARE_HOME}/lib64
  69. NO_CMAKE_FIND_ROOT_PATH
  70. NO_CMAKE_PATH
  71. NO_DEFAULT_PATH
  72. NO_CMAKE_SYSTEM_PATH)
  73. if(ION_LIB_T)
  74. list(APPEND CNCODEC_LIBS ${ION_LIB_T})
  75. endif()
  76. # ---[ cncodecv3
  77. find_library(CNCODECV3_LIBS
  78. NAMES cncodec_v3
  79. PATHS $ENV{NEUWARE_HOME}/lib64
  80. NO_CMAKE_FIND_ROOT_PATH
  81. NO_CMAKE_PATH
  82. NO_DEFAULT_PATH
  83. NO_CMAKE_SYSTEM_PATH)
  84. # ---[ cncv
  85. find_library(CNCV_LIB_T
  86. NAMES cncv
  87. PATHS $ENV{NEUWARE_HOME}/lib64
  88. NO_CMAKE_FIND_ROOT_PATH
  89. NO_CMAKE_PATH
  90. NO_DEFAULT_PATH
  91. NO_CMAKE_SYSTEM_PATH)
  92. if(CNCV_LIB_T)
  93. set(CNCV_LIBS ${CNCV_LIB_T})
  94. endif()