CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. else()
  23. foreach( _VAR PCRE_LOCAL_LIBRARIES PCRE_LOCAL_INCLUDE_DIRS )
  24. if( NOT "${_VAR}" )
  25. set( MISSING_VARS ${MISSING_VARS} ${_VAR} )
  26. endif()
  27. endforeach()
  28. message( STATUS "Could NOT find PCRE (missing: ${MISSING_VARS})" )
  29. unset( HAVE_LOCAL_PCRE CACHE )
  30. endif()
  31. message( STATUS "Detecting local PCRE - done" )
  32. endif( WIN32 )
  33. #
  34. # system
  35. #
  36. message( STATUS "Detecting system PCRE" )
  37. set( CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_MODULE_PATH} )
  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. else()
  51. unset( HAVE_SYSTEM_PCRE CACHE )
  52. endif()
  53. message( STATUS "Detecting system PCRE - done" )
  54. #
  55. # configure
  56. #
  57. CONFIGURE_USE_LOCAL_OR_SYSTEM( PCRE )