FindMsgpack.cmake 1.1 KB

12345678910111213141516171819202122232425
  1. find_path2(MSGPACK_INCLUDE_DIR msgpack/version_master.h)
  2. if(MSGPACK_INCLUDE_DIR)
  3. file(READ ${MSGPACK_INCLUDE_DIR}/msgpack/version_master.h msgpack_version_h)
  4. string(REGEX REPLACE ".*MSGPACK_VERSION_MAJOR +([0-9]+).*" "\\1" MSGPACK_VERSION_MAJOR "${msgpack_version_h}")
  5. string(REGEX REPLACE ".*MSGPACK_VERSION_MINOR +([0-9]+).*" "\\1" MSGPACK_VERSION_MINOR "${msgpack_version_h}")
  6. string(REGEX REPLACE ".*MSGPACK_VERSION_REVISION +([0-9]+).*" "\\1" MSGPACK_VERSION_REVISION "${msgpack_version_h}")
  7. set(MSGPACK_VERSION_STRING "${MSGPACK_VERSION_MAJOR}.${MSGPACK_VERSION_MINOR}.${MSGPACK_VERSION_REVISION}")
  8. else()
  9. set(MSGPACK_VERSION_STRING)
  10. endif()
  11. find_library2(MSGPACK_LIBRARY NAMES msgpackc msgpack msgpackc_import msgpack-c
  12. NAMES_PER_DIR)
  13. mark_as_advanced(MSGPACK_INCLUDE_DIR MSGPACK_LIBRARY)
  14. find_package_handle_standard_args(Msgpack
  15. REQUIRED_VARS MSGPACK_LIBRARY MSGPACK_INCLUDE_DIR
  16. VERSION_VAR MSGPACK_VERSION_STRING)
  17. add_library(msgpack INTERFACE)
  18. target_include_directories(msgpack SYSTEM BEFORE INTERFACE ${MSGPACK_INCLUDE_DIR})
  19. target_link_libraries(msgpack INTERFACE ${MSGPACK_LIBRARY})