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.

cnrt.cmake 1.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. find_library(
  2. CNRT_LIBRARY
  3. NAMES libcnrt.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 "CNRT library.")
  8. if(CNRT_LIBRARY STREQUAL "CNRT_LIBRARY-NOTFOUND")
  9. message(FATAL_ERROR "Can not find CNRT Library")
  10. endif()
  11. get_filename_component(__found_cnrt_root ${CNRT_LIBRARY}/../../ REALPATH)
  12. find_path(
  13. CNRT_INCLUDE_DIR
  14. NAMES cnrt.h
  15. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cnrt_root}
  16. PATH_SUFFIXES include
  17. DOC "Path to CNRT include directory.")
  18. if(CNRT_INCLUDE_DIR STREQUAL "CNRT_INCLUDE_DIR-NOTFOUND")
  19. message(FATAL_ERROR "Can not find CNRT Library")
  20. endif()
  21. file(STRINGS "${CNRT_INCLUDE_DIR}/cnrt.h" CNRT_MAJOR
  22. REGEX "^#define CNRT_MAJOR_VERSION [0-9]+.*$")
  23. file(STRINGS "${CNRT_INCLUDE_DIR}/cnrt.h" CNRT_MINOR
  24. REGEX "^#define CNRT_MINOR_VERSION [0-9]+.*$")
  25. file(STRINGS "${CNRT_INCLUDE_DIR}/cnrt.h" CNRT_PATCH
  26. REGEX "^#define CNRT_PATCH_VERSION [0-9]+.*$")
  27. string(REGEX REPLACE "^#define CNRT_MAJOR_VERSION ([0-9]+).*$" "\\1" CNRT_VERSION_MAJOR
  28. "${CNRT_MAJOR}")
  29. string(REGEX REPLACE "^#define CNRT_MINOR_VERSION ([0-9]+).*$" "\\1" CNRT_VERSION_MINOR
  30. "${CNRT_MINOR}")
  31. string(REGEX REPLACE "^#define CNRT_PATCH_VERSION ([0-9]+).*$" "\\1" CNRT_VERSION_PATCH
  32. "${CNRT_PATCH}")
  33. set(CNRT_VERSION_STRING
  34. "${CNRT_VERSION_MAJOR}.${CNRT_VERSION_MINOR}.${CNRT_VERSION_PATCH}")
  35. add_library(libcnrt SHARED IMPORTED)
  36. set_target_properties(
  37. libcnrt PROPERTIES IMPORTED_LOCATION ${CNRT_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES
  38. ${CNRT_INCLUDE_DIR})
  39. message(
  40. STATUS "Found CNRT: ${__found_cnrt_root} (found version: ${CNRT_VERSION_STRING})")