SetupPoco.cmake 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. if(DEFINED INCLUDED_SETUP_POCO_CMAKE)
  2. return()
  3. endif()
  4. set(INCLUDED_SETUP_POCO_CMAKE TRUE)
  5. ########################################################################
  6. # Find Poco with PocoConfig.cmake (installed copy)
  7. ########################################################################
  8. if("${CMAKE_VERSION}" VERSION_LESS "3.0.0")
  9. else()
  10. set(Poco_INCLUDE_DIRS "")
  11. find_package(Poco CONFIG COMPONENTS Foundation Util XML Net)
  12. if (Poco_FOUND)
  13. return()
  14. endif()
  15. endif()
  16. ########################################################################
  17. # Find Poco with FindPoco.cmake (local copy)
  18. ########################################################################
  19. message(STATUS "PocoConfig not found - trying with FindPoco")
  20. list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_CURRENT_LIST_DIR})
  21. find_package(Poco)
  22. if (POCO_FOUND AND POCO_Util_FOUND AND POCO_Net_FOUND AND POCO_XML_FOUND)
  23. ########################################################################
  24. # Check version >= 1.5.4
  25. ########################################################################
  26. FILE (READ "${POCO_INCLUDE_DIRS}/Poco/Version.h" Poco_VERSION_H)
  27. set(_ws "[ \r\t\n^$]+")
  28. STRING (REGEX REPLACE "^.*#define${_ws}POCO_VERSION${_ws}(0x[0-9a-fA-F]*)${_ws}.*$" "\\1" Poco_VERSION "${Poco_VERSION_H}")
  29. set(_ws)
  30. if ("${Poco_VERSION}" LESS 0x01050400)
  31. return()
  32. endif()
  33. ########################################################################
  34. # Set variables
  35. ########################################################################
  36. set(Poco_FOUND 1)
  37. set(Poco_INCLUDE_DIRS ${POCO_INCLUDE_DIRS})
  38. set(Poco_LIBRARIES
  39. ${POCO_LIBRARIES}
  40. ${POCO_Util_LIBRARIES}
  41. ${POCO_Net_LIBRARIES}
  42. ${POCO_XML_LIBRARIES}
  43. )
  44. ########################################################################
  45. # Link with the thread library
  46. ########################################################################
  47. if (UNIX)
  48. set(CMAKE_THREAD_PREFER_PTHREAD ON)
  49. enable_language(C)
  50. find_package(Threads)
  51. list(APPEND Poco_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
  52. endif()
  53. endif()