CMakeLists.txt 2.1 KB

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