CMakeLists.txt 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. unset( PCRE_LIBRARIES CACHE )
  39. unset( PCRE_INCLUDE_DIRS CACHE )
  40. find_package( PCRE )
  41. set( PCRE_SYSTEM_LIBRARIES ${PCRE_LIBRARIES}
  42. CACHE PATH "system pcre libraries" )
  43. set( PCRE_SYSTEM_INCLUDE_DIRS ${PCRE_INCLUDE_DIRS}
  44. CACHE PATH "system pcre include directories" )
  45. mark_as_advanced( PCRE_SYSTEM_LIBRARIES )
  46. mark_as_advanced( PCRE_SYSTEM_INCLUDE_DIRS )
  47. if( PCRE_SYSTEM_LIBRARIES AND PCRE_SYSTEM_INCLUDE_DIRS )
  48. set( HAVE_SYSTEM_PCRE ON
  49. CACHE BOOL "pcre is available on the system" )
  50. mark_as_advanced( HAVE_SYSTEM_PCRE )
  51. else()
  52. unset( HAVE_SYSTEM_PCRE CACHE )
  53. endif()
  54. message( STATUS "Detecting system PCRE - done" )
  55. #
  56. # configure
  57. #
  58. CONFIGURE_WITH_LOCAL_OR_SYSTEM( PCRE )