CMakeLists.txt 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. project(minizip C)
  2. add_library(minizip STATIC
  3. minizip-ng/mz.h
  4. minizip-ng/mz_compat.c
  5. minizip-ng/mz_compat.h
  6. minizip-ng/mz_crypt.c
  7. minizip-ng/mz_crypt.h
  8. minizip-ng/mz_os.c
  9. minizip-ng/mz_os.h
  10. minizip-ng/mz_strm.c
  11. minizip-ng/mz_strm.h
  12. minizip-ng/mz_strm_buf.c
  13. minizip-ng/mz_strm_buf.h
  14. # minizip-ng/mz_strm_bzip.c
  15. # minizip-ng/mz_strm_bzip.h
  16. # minizip-ng/mz_strm_libcomp.c
  17. # minizip-ng/mz_strm_libcomp.h
  18. # minizip-ng/mz_strm_lzma.c
  19. # minizip-ng/mz_strm_lzma.h
  20. minizip-ng/mz_strm_mem.c
  21. minizip-ng/mz_strm_mem.h
  22. minizip-ng/mz_strm_os.h
  23. # minizip-ng/mz_strm_pkcrypt.c
  24. # minizip-ng/mz_strm_pkcrypt.h
  25. minizip-ng/mz_strm_split.c
  26. minizip-ng/mz_strm_split.h
  27. # minizip-ng/mz_strm_wzaes.c
  28. # minizip-ng/mz_strm_wzaes.h
  29. minizip-ng/mz_strm_zlib.c
  30. minizip-ng/mz_strm_zlib.h
  31. # minizip-ng/mz_strm_zstd.c
  32. # minizip-ng/mz_strm_zstd.h
  33. minizip-ng/mz_zip.c
  34. minizip-ng/mz_zip.h
  35. minizip-ng/mz_zip_rw.c
  36. minizip-ng/mz_zip_rw.h
  37. )
  38. dolphin_disable_warnings(minizip)
  39. if (UNIX)
  40. target_sources(minizip PRIVATE
  41. minizip-ng/mz_os_posix.c
  42. minizip-ng/mz_strm_os_posix.c
  43. )
  44. endif()
  45. if (WIN32)
  46. target_sources(minizip PRIVATE
  47. minizip-ng/mz_os_win32.c
  48. minizip-ng/mz_strm_os_win32.c
  49. )
  50. endif()
  51. # Unused files
  52. # minizip-ng/minigzip.c
  53. # minizip-ng/minizip.c
  54. # minizip-ng/mz_crypt_apple.c
  55. # minizip-ng/mz_crypt_openssl.c
  56. # minizip-ng/mz_crypt_winvista.c
  57. # minizip-ng/mz_crypt_winxp.c
  58. target_include_directories(minizip PUBLIC minizip-ng)
  59. target_compile_definitions(minizip PRIVATE HAVE_ZLIB ZLIB_COMPAT MZ_ZIP_NO_CRYPTO MZ_ZIP_NO_ENCRYPTION)
  60. if (UNIX)
  61. target_compile_definitions(minizip PRIVATE _POSIX_C_SOURCE=200112L)
  62. target_compile_definitions(minizip PRIVATE __USE_LARGEFILE64 _LARGEFILE64_SOURCE)
  63. endif()
  64. check_include_file(stdint.h HAVE_STDINT_H)
  65. if (HAVE_STDINT_H)
  66. target_compile_definitions(minizip PRIVATE HAVE_STDINT_H)
  67. endif()
  68. check_include_file(inttypes.h HAVE_INTTYPES_H)
  69. if (HAVE_INTTYPES_H)
  70. target_compile_definitions(minizip PRIVATE HAVE_INTTYPES_H)
  71. endif()
  72. check_function_exists(fseeko HAVE_FSEEKO)
  73. if (NOT HAVE_FSEEKO)
  74. target_compile_definitions(minizip PRIVATE NO_FSEEKO)
  75. endif()
  76. target_link_libraries(minizip PUBLIC ZLIB::ZLIB)
  77. add_library(minizip::minizip ALIAS minizip)