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.

cnlight.cmake 1.9 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. find_library(
  2. CNLIGHT_LIBRARY
  3. NAMES libcnlight.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 "CNLIGHT library.")
  8. if(CNLIGHT_LIBRARY STREQUAL "CNLIGHT_LIBRARY-NOTFOUND")
  9. message(FATAL_ERROR "Can not find CNLIGHT Library")
  10. endif()
  11. get_filename_component(__found_cnlight_root "${CNLIGHT_LIBRARY}/../.." REALPATH)
  12. find_path(
  13. CNLIGHT_INCLUDE_DIR
  14. NAMES cnlight.h
  15. HINTS "$ENV{NEUWARE_HOME}/include" ${__found_cnlight_root}
  16. PATH_SUFFIXES include
  17. DOC "Path to CNLIGHT include directory.")
  18. if(CNLIGHT_INCLUDE_DIR STREQUAL "CNLIGHT_INCLUDE_DIR-NOTFOUND")
  19. message(FATAL_ERROR "Can not find CNLIGHT Library")
  20. endif()
  21. file(STRINGS "${CNLIGHT_INCLUDE_DIR}/cnlight.h" CNLIGHT_MAJOR
  22. REGEX "^#define CNLIGHT_MAJOR_VERSION [0-9]+.*$")
  23. file(STRINGS "${CNLIGHT_INCLUDE_DIR}/cnlight.h" CNLIGHT_MINOR
  24. REGEX "^#define CNLIGHT_MINOR_VERSION [0-9]+.*$")
  25. file(STRINGS "${CNLIGHT_INCLUDE_DIR}/cnlight.h" CNLIGHT_PATCH
  26. REGEX "^#define CNLIGHT_PATCH_VERSION [0-9]+.*$")
  27. string(REGEX REPLACE "^#define CNLIGHT_MAJOR_VERSION ([0-9]+).*$" "\\1"
  28. CNLIGHT_VERSION_MAJOR "${CNLIGHT_MAJOR}")
  29. string(REGEX REPLACE "^#define CNLIGHT_MINOR_VERSION ([0-9]+).*$" "\\1"
  30. CNLIGHT_VERSION_MINOR "${CNLIGHT_MINOR}")
  31. string(REGEX REPLACE "^#define CNLIGHT_PATCH_VERSION ([0-9]+).*$" "\\1"
  32. CNLIGHT_VERSION_PATCH "${CNLIGHT_PATCH}")
  33. set(CNLIGHT_VERSION_STRING
  34. "${CNLIGHT_VERSION_MAJOR}.${CNLIGHT_VERSION_MINOR}.${CNLIGHT_VERSION_PATCH}")
  35. add_library(libcnlight SHARED IMPORTED)
  36. set_target_properties(
  37. libcnlight PROPERTIES IMPORTED_LOCATION ${CNLIGHT_LIBRARY}
  38. INTERFACE_INCLUDE_DIRECTORIES ${CNLIGHT_INCLUDE_DIR})
  39. message(
  40. STATUS
  41. "Found CNLIGHT: ${__found_cnlight_root} (found version: ${CNLIGHT_VERSION_STRING})")