CMakeLists.txt 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #
  2. # local copy
  3. #
  4. if( WIN32 )
  5. message( STATUS "Detecting local PCRE" )
  6. find_path( PCRE_LOCAL_INCLUDE_DIRS "pcre.h"
  7. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/include"
  8. NO_DEFAULT_PATH )
  9. find_library( PCRE_LOCAL_LIBRARIES
  10. NAMES pcre
  11. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/lib"
  12. NO_DEFAULT_PATH )
  13. mark_as_advanced( PCRE_LOCAL_LIBRARIES )
  14. mark_as_advanced( PCRE_LOCAL_INCLUDE_DIRS )
  15. if( PCRE_LOCAL_LIBRARIES AND PCRE_LOCAL_INCLUDE_DIRS )
  16. file( STRINGS "${PCRE_LOCAL_INCLUDE_DIRS}/pcre.h" PCRE_H REGEX "^#define[ \t]+PCRE_M[A-Z]+[ \t]+[0-9]+.*$" )
  17. string( REGEX REPLACE "^.*PCRE_MAJOR[ \t]+([0-9]+).*$" "\\1" PCRE_MAJOR "${PCRE_H}" )
  18. string( REGEX REPLACE "^.*PCRE_MINOR[ \t]+([0-9]+).*$" "\\1" PCRE_MINOR "${PCRE_H}" )
  19. message( STATUS "Found PCRE: ${PCRE_LOCAL_LIBRARIES} (found version ${PCRE_MAJOR}.${PCRE_MINOR})" )
  20. set( HAVE_LOCAL_PCRE ON
  21. CACHE BOOL "pcre is available as a local copy" )
  22. mark_as_advanced( HAVE_LOCAL_PCRE )
  23. else()
  24. foreach( _VAR PCRE_LOCAL_LIBRARIES PCRE_LOCAL_INCLUDE_DIRS )
  25. if( NOT "${_VAR}" )
  26. set( MISSING_VARS ${MISSING_VARS} ${_VAR} )
  27. endif()
  28. endforeach()
  29. message( STATUS "Could NOT find PCRE (missing: ${MISSING_VARS})" )
  30. unset( HAVE_LOCAL_PCRE CACHE )
  31. endif()
  32. message( STATUS "Detecting local PCRE - done" )
  33. endif( WIN32 )
  34. #
  35. # system
  36. #
  37. message( STATUS "Detecting system PCRE" )
  38. set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH} )
  39. unset( PCRE_LIBRARIES CACHE )
  40. unset( PCRE_INCLUDE_DIRS CACHE )
  41. find_package( PCRE )
  42. set( PCRE_SYSTEM_LIBRARIES ${PCRE_LIBRARIES}
  43. CACHE PATH "system pcre libraries" )
  44. set( PCRE_SYSTEM_INCLUDE_DIRS ${PCRE_INCLUDE_DIRS}
  45. CACHE PATH "system pcre include directories" )
  46. mark_as_advanced( PCRE_SYSTEM_LIBRARIES )
  47. mark_as_advanced( PCRE_SYSTEM_INCLUDE_DIRS )
  48. if( PCRE_SYSTEM_LIBRARIES AND PCRE_SYSTEM_INCLUDE_DIRS )
  49. set( HAVE_SYSTEM_PCRE ON
  50. CACHE BOOL "pcre is available on the system" )
  51. mark_as_advanced( HAVE_SYSTEM_PCRE )
  52. else()
  53. unset( HAVE_SYSTEM_PCRE CACHE )
  54. endif()
  55. message( STATUS "Detecting system PCRE - done" )
  56. #
  57. # configure
  58. #
  59. CONFIGURE_WITH_LOCAL_OR_SYSTEM( PCRE )