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.

cndev.cmake 2.2 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. find_library(
  2. CNDEV_LIBRARY
  3. NAMES libcndev.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 "CNDEV library.")
  8. if(CNDEV_LIBRARY STREQUAL "CNDEV_LIBRARY-NOTFOUND")
  9. message(FATAL_ERROR "Can not find CNDEV Library")
  10. endif()
  11. get_filename_component(__found_cndev_root ${CNDEV_LIBRARY}/../.. REALPATH)
  12. find_path(
  13. CNDEV_INCLUDE_DIR
  14. NAMES cndev.h
  15. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cndev_root}
  16. PATH_SUFFIXES include
  17. DOC "Path to CNDEV include directory.")
  18. if(CNDEV_INCLUDE_DIR STREQUAL "CNDEV_INCLUDE_DIR-NOTFOUND")
  19. message(FATAL_ERROR "Can not find CNDEV Library")
  20. endif()
  21. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_1
  22. REGEX "^#define CNDEV_VERSION_1 [0-9]+.*$")
  23. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_2
  24. REGEX "^#define CNDEV_VERSION_2 [0-9]+.*$")
  25. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_3
  26. REGEX "^#define CNDEV_VERSION_3 [0-9]+.*$")
  27. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_4
  28. REGEX "^#define CNDEV_VERSION_4 [0-9]+.*$")
  29. file(STRINGS "${CNDEV_INCLUDE_DIR}/cndev.h" CNDEV_5
  30. REGEX "^#define CNDEV_VERSION_5 [0-9]+.*$")
  31. string(REGEX REPLACE "^#define CNDEV_VERSION_1 ([0-9]+).*$" "\\1" CNDEV_VERSION_1
  32. "${CNDEV_1}")
  33. string(REGEX REPLACE "^#define CNDEV_VERSION_2 ([0-9]+).*$" "\\1" CNDEV_VERSION_2
  34. "${CNDEV_2}")
  35. string(REGEX REPLACE "^#define CNDEV_VERSION_3 ([0-9]+).*$" "\\1" CNDEV_VERSION_3
  36. "${CNDEV_3}")
  37. string(REGEX REPLACE "^#define CNDEV_VERSION_4 ([0-9]+).*$" "\\1" CNDEV_VERSION_4
  38. "${CNDEV_4}")
  39. string(REGEX REPLACE "^#define CNDEV_VERSION_5 ([0-9]+).*$" "\\1" CNDEV_VERSION_5
  40. "${CNDEV_5}")
  41. set(CNDEV_VERSION_STRING
  42. "${CNDEV_VERSION_1}.${CNDEV_VERSION_2}.${CNDEV_VERSION_3}.${CNDEV_VERSION_4}.${CNDEV_VERSION_5}"
  43. )
  44. add_library(libcndev SHARED IMPORTED)
  45. set_target_properties(
  46. libcndev PROPERTIES IMPORTED_LOCATION ${CNDEV_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES
  47. ${CNDEV_INCLUDE_DIR})
  48. message(
  49. STATUS "Found CNDEV: ${__found_cndev_root} (found version: ${CNDEV_VERSION_STRING})")