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.

magicmind.cmake 2.5 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. find_library(
  2. MAGICMIND_LIBRARY
  3. NAMES libmagicmind.so
  4. PATHS ${ALTER_LD_LIBRARY_PATHS} "$ENV{NEUWARE_HOME}/lib64" ${CMAKE_INSTALL_PREFIX}
  5. HINTS ${ALTER_LIBRARY_PATHS}
  6. PATH_SUFFIXES lib lib64
  7. DOC "MAGICMIND library.")
  8. if(MAGICMIND_LIBRARY STREQUAL "MAGICMIND_LIBRARY-NOTFOUND")
  9. message(FATAL_ERROR "Can not find MAGICMIND Library")
  10. endif()
  11. get_filename_component(__found_magicmind_root "${MAGICMIND_LIBRARY}/../../" REALPATH)
  12. find_path(
  13. MAGICMIND_INCLUDE_DIR
  14. NAMES common.h
  15. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_magicmind_root}
  16. PATH_SUFFIXES include
  17. DOC "Path to MAGICMIND include directory.")
  18. if(MAGICMIND_INCLUDE_DIR STREQUAL "MAGICMIND_INCLUDE_DIR-NOTFOUND")
  19. message(FATAL_ERROR "Can not find MAGICMIND Library")
  20. endif()
  21. file(STRINGS "${MAGICMIND_INCLUDE_DIR}/common.h" MAGICMIND_MAJOR
  22. REGEX "^#define MM_MAJOR_VERSION [0-9]+.*$")
  23. file(STRINGS "${MAGICMIND_INCLUDE_DIR}/common.h" MAGICMIND_MINOR
  24. REGEX "^#define MM_MINOR_VERSION [0-9]+.*$")
  25. file(STRINGS "${MAGICMIND_INCLUDE_DIR}/common.h" MAGICMIND_PATCH
  26. REGEX "^#define MM_PATCH_VERSION [0-9]+.*$")
  27. string(REGEX REPLACE "^#define MM_MAJOR_VERSION ([0-9]+).*$" "\\1"
  28. MAGICMIND_VERSION_MAJOR "${MAGICMIND_MAJOR}")
  29. string(REGEX REPLACE "^#define MM_MINOR_VERSION ([0-9]+).*$" "\\1"
  30. MAGICMIND_VERSION_MINOR "${MAGICMIND_MINOR}")
  31. string(REGEX REPLACE "^#define MM_PATCH_VERSION ([0-9]+).*$" "\\1"
  32. MAGICMIND_VERSION_PATCH "${MAGICMIND_PATCH}")
  33. set(MAGICMIND_VERSION_STRING
  34. "${MAGICMIND_VERSION_MAJOR}.${MAGICMIND_VERSION_MINOR}.${MAGICMIND_VERSION_PATCH}")
  35. add_library(libmagicmind SHARED IMPORTED)
  36. set_target_properties(
  37. libmagicmind PROPERTIES IMPORTED_LOCATION ${MAGICMIND_LIBRARY}
  38. INTERFACE_INCLUDE_DIRECTORIES ${MAGICMIND_INCLUDE_DIR})
  39. message(
  40. STATUS
  41. "Found MAGICMIND: ${__found_magicmind_root} (found version: ${MAGICMIND_VERSION_STRING})"
  42. )
  43. find_library(
  44. MAGICMIND_RUNTIME_LIBRARY
  45. NAMES libmagicmind_runtime.so
  46. PATHS "${__found_magicmind_root}/lib64")
  47. if(MAGICMIND_RUNTIME_LIBRARY STREQUAL "MAGICMIND_RUNTIME_LIBRARY-NOTFOUND")
  48. message(FATAL_ERROR "Can not find MAGICMIND_RUNTIME Library")
  49. else()
  50. message(STATUS "Found MAGICMIND_RUNTIME: ${MAGICMIND_RUNTIME_LIBRARY}")
  51. endif()
  52. add_library(libmagicmind_runtime SHARED IMPORTED)
  53. set_target_properties(libmagicmind_runtime PROPERTIES IMPORTED_LOCATION
  54. ${MAGICMIND_RUNTIME_LIBRARY})