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.1 kB

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