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.

cnnl.cmake 3.6 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. find_library(CNNL_LIBRARY
  2. NAMES libcnnl.so
  3. PATHS ${ALTER_LD_LIBRARY_PATHS} "$ENV{NEUWARE_HOME}/lib64" ${CMAKE_INSTALL_PREFIX}
  4. HINTS ${ALTER_LIBRARY_PATHS}
  5. PATH_SUFFIXES lib lib64
  6. DOC "CNNL library." )
  7. if(CNNL_LIBRARY STREQUAL "CNNL_LIBRARY-NOTFOUND")
  8. message(FATAL_ERROR "Can not find CNNL Library")
  9. endif()
  10. get_filename_component(__found_cnnl_root "${CNNL_LIBRARY}/../include" REALPATH)
  11. find_path(CNNL_INCLUDE_DIR
  12. NAMES cnnl.h
  13. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cnnl_root}
  14. PATH_SUFFIXES include
  15. DOC "Path to CNNL include directory." )
  16. if(CNNL_INCLUDE_DIR STREQUAL "CNNL_INCLUDE_DIR-NOTFOUND")
  17. message(FATAL_ERROR "Can not find CNNL Library")
  18. endif()
  19. file(STRINGS "${CNNL_INCLUDE_DIR}/cnnl.h" CNNL_MAJOR REGEX "^#define CNNL_MAJOR [0-9]+.*$")
  20. file(STRINGS "${CNNL_INCLUDE_DIR}/cnnl.h" CNNL_MINOR REGEX "^#define CNNL_MINOR [0-9]+.*$")
  21. file(STRINGS "${CNNL_INCLUDE_DIR}/cnnl.h" CNNL_PATCH REGEX "^#define CNNL_PATCHLEVEL [0-9]+.*$")
  22. string(REGEX REPLACE "^#define CNNL_MAJOR ([0-9]+).*$" "\\1" CNNL_VERSION_MAJOR "${CNNL_MAJOR}")
  23. string(REGEX REPLACE "^#define CNNL_MINOR ([0-9]+).*$" "\\1" CNNL_VERSION_MINOR "${CNNL_MINOR}")
  24. string(REGEX REPLACE "^#define CNNL_PATCHLEVEL ([0-9]+).*$" "\\1" CNNL_VERSION_PATCH "${CNNL_PATCH}")
  25. set(CNNL_VERSION_STRING "${CNNL_VERSION_MAJOR}.${CNNL_VERSION_MINOR}.${CNNL_VERSION_PATCH}")
  26. add_library(libcnnl SHARED IMPORTED)
  27. set_target_properties(libcnnl PROPERTIES
  28. IMPORTED_LOCATION ${CNNL_LIBRARY}
  29. INTERFACE_INCLUDE_DIRECTORIES ${CNNL_INCLUDE_DIR}
  30. )
  31. message(STATUS "Found CNNL: ${__found_cnnl_root} (found version: ${CNNL_VERSION_STRING})")
  32. find_library(CNNL_EXTRA_LIBRARY
  33. NAMES libcnnl_extra.so
  34. PATHS ${ALTER_LD_LIBRARY_PATHS} "$ENV{NEUWARE_HOME}/lib64" ${CMAKE_INSTALL_PREFIX}
  35. HINTS ${ALTER_LIBRARY_PATHS}
  36. PATH_SUFFIXES lib lib64
  37. DOC "CNNL_EXTRA library." )
  38. if(CNNL_EXTRA_LIBRARY STREQUAL "CNNL_EXTRA_LIBRARY-NOTFOUND")
  39. message(FATAL_ERROR "Can not find CNNL_EXTRA Library")
  40. endif()
  41. get_filename_component(__found_cnnl_extra_root "${CNNL_EXTRA_LIBRARY}/../include" REALPATH)
  42. find_path(CNNL_EXTRA_INCLUDE_DIR
  43. NAMES cnnl_extra.h
  44. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cnnl_extra_root}
  45. PATH_SUFFIXES include
  46. DOC "Path to CNNL_EXTRA include directory." )
  47. if(CNNL_EXTRA_INCLUDE_DIR STREQUAL "CNNL_EXTRA_INCLUDE_DIR-NOTFOUND")
  48. message(FATAL_ERROR "Can not find CNNL_EXTRA Library")
  49. endif()
  50. file(STRINGS "${CNNL_EXTRA_INCLUDE_DIR}/cnnl_extra.h" CNNL_EXTRA_MAJOR REGEX "^#define CNNL_EXTRA_MAJOR [0-9]+.*$")
  51. file(STRINGS "${CNNL_EXTRA_INCLUDE_DIR}/cnnl_extra.h" CNNL_EXTRA_MINOR REGEX "^#define CNNL_EXTRA_MINOR [0-9]+.*$")
  52. file(STRINGS "${CNNL_EXTRA_INCLUDE_DIR}/cnnl_extra.h" CNNL_EXTRA_PATCH REGEX "^#define CNNL_EXTRA_PATCHLEVEL [0-9]+.*$")
  53. string(REGEX REPLACE "^#define CNNL_EXTRA_MAJOR ([0-9]+).*$" "\\1" CNNL_EXTRA_VERSION_MAJOR "${CNNL_EXTRA_MAJOR}")
  54. string(REGEX REPLACE "^#define CNNL_EXTRA_MINOR ([0-9]+).*$" "\\1" CNNL_EXTRA_VERSION_MINOR "${CNNL_EXTRA_MINOR}")
  55. string(REGEX REPLACE "^#define CNNL_EXTRA_PATCHLEVEL ([0-9]+).*$" "\\1" CNNL_EXTRA_VERSION_PATCH "${CNNL_EXTRA_PATCH}")
  56. set(CNNL_EXTRA_VERSION_STRING "${CNNL_EXTRA_VERSION_MAJOR}.${CNNL_EXTRA_VERSION_MINOR}.${CNNL_EXTRA_VERSION_PATCH}")
  57. add_library(libcnnl_extra SHARED IMPORTED)
  58. set_target_properties(libcnnl_extra PROPERTIES
  59. IMPORTED_LOCATION ${CNNL_EXTRA_LIBRARY}
  60. INTERFACE_INCLUDE_DIRECTORIES ${CNNL_EXTRA_INCLUDE_DIR}
  61. )
  62. message(STATUS "Found CNNL_EXTRA: ${__found_cnnl_extra_root} (found version: ${CNNL_EXTRA_VERSION_STRING})")