CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #
  2. # local copy
  3. #
  4. if( WIN32 )
  5. message( STATUS "Detecting local ZLIB" )
  6. find_path( ZLIB_LOCAL_INCLUDE_DIRS "zlib.h"
  7. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/include"
  8. NO_DEFAULT_PATH )
  9. find_library( ZLIB_LOCAL_LIBRARIES
  10. NAMES zdll
  11. PATHS "${CMAKE_CURRENT_SOURCE_DIR}/lib"
  12. NO_DEFAULT_PATH )
  13. mark_as_advanced( ZLIB_LOCAL_LIBRARIES )
  14. mark_as_advanced( ZLIB_LOCAL_INCLUDE_DIRS )
  15. if( ZLIB_LOCAL_LIBRARIES AND ZLIB_LOCAL_INCLUDE_DIRS )
  16. file( STRINGS "${ZLIB_LOCAL_INCLUDE_DIRS}/zlib.h" ZLIB_H REGEX "^#define[ \t]+ZLIB_VERSION[ \t]+\"[^\"]+\".*$" )
  17. string( REGEX REPLACE "^.*ZLIB_VERSION[ \t]+\"([^\"]+)\".*$" "\\1" ZLIB_VERSION "${ZLIB_H}" )
  18. message( STATUS "Found local ZLIB: ${ZLIB_LOCAL_LIBRARIES} (found version ${ZLIB_VERSION})" )
  19. set( HAVE_LOCAL_ZLIB ON
  20. CACHE BOOL "zlib is available as a local copy" )
  21. mark_as_advanced( HAVE_LOCAL_ZLIB )
  22. else()
  23. foreach( _VAR ZLIB_LOCAL_LIBRARIES ZLIB_LOCAL_INCLUDE_DIRS )
  24. if( NOT "${_VAR}" )
  25. set( MISSING_VARS ${MISSING_VARS} ${_VAR} )
  26. endif()
  27. endforeach()
  28. message( STATUS "Could NOT find local ZLIB (missing: ${MISSING_VARS})" )
  29. unset( HAVE_LOCAL_ZLIB CACHE )
  30. endif()
  31. message( STATUS "Detecting local ZLIB - done" )
  32. endif( WIN32 )
  33. #
  34. # system
  35. #
  36. message( STATUS "Detecting system ZLIB" )
  37. unset( ZLIB_LIBRARIES CACHE )
  38. unset( ZLIB_INCLUDE_DIRS CACHE )
  39. find_package( ZLIB )
  40. set( ZLIB_SYSTEM_LIBRARIES ${ZLIB_LIBRARIES}
  41. CACHE PATH "system zlib libraries" )
  42. set( ZLIB_SYSTEM_INCLUDE_DIRS ${ZLIB_INCLUDE_DIRS}
  43. CACHE PATH "system zlib include directories" )
  44. mark_as_advanced( ZLIB_SYSTEM_LIBRARIES )
  45. mark_as_advanced( ZLIB_SYSTEM_INCLUDE_DIRS )
  46. if( ZLIB_SYSTEM_LIBRARIES AND ZLIB_SYSTEM_INCLUDE_DIRS )
  47. set( HAVE_SYSTEM_ZLIB ON
  48. CACHE BOOL "zlib is available on the system" )
  49. mark_as_advanced( HAVE_SYSTEM_ZLIB )
  50. else()
  51. unset( HAVE_SYSTEM_ZLIB CACHE )
  52. endif()
  53. message( STATUS "Detecting system ZLIB - done" )
  54. #
  55. # configure
  56. #
  57. CONFIGURE_WITH_LOCAL_OR_SYSTEM( ZLIB )