WtFindZlib.txt 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. # This file defines:
  2. # - ZLIB_INCLUDE_DIRS
  3. # - ZLIB_LIBRARIES
  4. # - ZLIB_FOUND
  5. # - ZLIB_DEFINITIONS
  6. # Taking into account:
  7. # - ZLIB_PREFIX
  8. FIND_PATH(ZLIB_INCLUDE zlib.h
  9. ${ZLIB_PREFIX}/include
  10. /usr/include
  11. )
  12. IF(WIN32)
  13. FIND_LIBRARY(ZLIB_LIB_RELEASE
  14. NAMES
  15. zlibstat zlibstatic zlib
  16. PATHS
  17. /usr/lib
  18. ${ZLIB_PREFIX}/lib
  19. )
  20. FIND_LIBRARY(ZLIB_LIB_DEBUG
  21. NAMES
  22. zlibstatd zlibstaticd zlibd
  23. PATHS
  24. ${ZLIB_PREFIX}/lib
  25. )
  26. IF(ZLIB_INCLUDE AND ZLIB_LIB_RELEASE AND ZLIB_LIB_DEBUG)
  27. SET(ZLIB_FOUND TRUE)
  28. # We used to set this, but that was a bad idea. Try to remain backward
  29. # compatible
  30. SET(ZLIB_test_fname "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/zlib.c")
  31. FILE(WRITE
  32. "${ZLIB_test_fname}"
  33. "#include \"zlib.h\"\nint main() { deflate(0,0); return 0; }"
  34. )
  35. TRY_COMPILE(ZLIB_WORKS_WITHOUT_DEFINES
  36. "${CMAKE_BINARY_DIR}" "${ZLIB_test_fname}"
  37. CMAKE_FLAGS
  38. -DLINK_LIBRARIES=${ZLIB_LIB_RELEASE}
  39. -DINCLUDE_DIRECTORIES=${ZLIB_INCLUDE}
  40. )
  41. FILE(WRITE
  42. "${ZLIB_test_fname}"
  43. "#include \"zlib.h\"\nint main() { deflate(0,0); return 0; }"
  44. )
  45. TRY_COMPILE(ZLIB_WORKS_WITH_DEFINES
  46. "${CMAKE_BINARY_DIR}" "${ZLIB_test_fname}"
  47. CMAKE_FLAGS
  48. -DLINK_LIBRARIES=${ZLIB_LIB_RELEASE}
  49. -DINCLUDE_DIRECTORIES=${ZLIB_INCLUDE}
  50. COMPILE_DEFINITIONS
  51. "-DZLIB_WINAPI"
  52. )
  53. IF(ZLIB_WORKS_WITH_DEFINES AND NOT ZLIB_WORKS_WITHOUT_DEFINES)
  54. SET(ZLIB_DEFINITIONS -DZLIB_WINAPI)
  55. MESSAGE(STATUS "zlib requires -DZLIB_WINAPI, consider recompiling")
  56. ENDIF(ZLIB_WORKS_WITH_DEFINES AND NOT ZLIB_WORKS_WITHOUT_DEFINES)
  57. SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE})
  58. SET(ZLIB_LIBRARIES optimized ${ZLIB_LIB_RELEASE} debug ${ZLIB_LIB_DEBUG})
  59. ELSE(ZLIB_INCLUDE AND ZLIB_LIB_RELEASE AND ZLIB_LIB_DEBUG)
  60. SET(ZLIB_FOUND FALSE)
  61. ENDIF(ZLIB_INCLUDE AND ZLIB_LIB_RELEASE AND ZLIB_LIB_DEBUG)
  62. ELSE(WIN32)
  63. FIND_LIBRARY(ZLIB_LIB
  64. NAMES
  65. z
  66. PATHS
  67. /usr/lib
  68. ${ZLIB_PREFIX}/lib
  69. )
  70. IF(ZLIB_INCLUDE AND ZLIB_LIB)
  71. SET(ZLIB_FOUND TRUE)
  72. SET(ZLIB_INCLUDE_DIRS ${ZLIB_INCLUDE})
  73. SET(ZLIB_LIBRARIES ${ZLIB_LIB})
  74. ELSE(ZLIB_INCLUDE AND ZLIB_LIB)
  75. SET(ZLIB_FOUND FALSE)
  76. ENDIF(ZLIB_INCLUDE AND ZLIB_LIB)
  77. ENDIF(WIN32)