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

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