CMakeLists.txt 2.0 KB

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