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.

cnml.cmake 1.8 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. find_library(
  2. CNML_LIBRARY
  3. NAMES libcnml.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 "CNML library.")
  8. if(CNML_LIBRARY STREQUAL "CNML_LIBRARY-NOTFOUND")
  9. message(FATAL_ERROR "Can not find CNML Library")
  10. endif()
  11. get_filename_component(__found_cnml_root "${CNML_LIBRARY}/../.." REALPATH)
  12. find_path(
  13. CNML_INCLUDE_DIR
  14. NAMES cnml.h
  15. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cnml_root}
  16. PATH_SUFFIXES include
  17. DOC "Path to CNML include directory.")
  18. if(CNML_INCLUDE_DIR STREQUAL "CNML_INCLUDE_DIR-NOTFOUND")
  19. message(FATAL_ERROR "Can not find CNML Library")
  20. endif()
  21. file(STRINGS "${CNML_INCLUDE_DIR}/cnml.h" CNML_MAJOR
  22. REGEX "^#define CNML_MAJOR_VERSION [0-9]+.*$")
  23. file(STRINGS "${CNML_INCLUDE_DIR}/cnml.h" CNML_MINOR
  24. REGEX "^#define CNML_MINOR_VERSION [0-9]+.*$")
  25. file(STRINGS "${CNML_INCLUDE_DIR}/cnml.h" CNML_PATCH
  26. REGEX "^#define CNML_PATCH_VERSION [0-9]+.*$")
  27. string(REGEX REPLACE "^#define CNML_MAJOR_VERSION ([0-9]+).*$" "\\1" CNML_VERSION_MAJOR
  28. "${CNML_MAJOR}")
  29. string(REGEX REPLACE "^#define CNML_MINOR_VERSION ([0-9]+).*$" "\\1" CNML_VERSION_MINOR
  30. "${CNML_MINOR}")
  31. string(REGEX REPLACE "^#define CNML_PATCH_VERSION ([0-9]+).*$" "\\1" CNML_VERSION_PATCH
  32. "${CNML_PATCH}")
  33. set(CNML_VERSION_STRING
  34. "${CNML_VERSION_MAJOR}.${CNML_VERSION_MINOR}.${CNML_VERSION_PATCH}")
  35. add_library(libcnml SHARED IMPORTED)
  36. set_target_properties(
  37. libcnml PROPERTIES IMPORTED_LOCATION ${CNML_LIBRARY} INTERFACE_INCLUDE_DIRECTORIES
  38. ${CNML_INCLUDE_DIR})
  39. message(
  40. STATUS "Found CNML: ${__found_cnml_root} (found version: ${CNML_VERSION_STRING})")