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

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